@cdk_utils/iam 1.31.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 (465) 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.js +3 -3
  50. package/lib/generated/services/aws-marketplace-management.js +1 -1
  51. package/lib/generated/services/aws-marketplace.js +4 -4
  52. package/lib/generated/services/aws-portal.js +1 -1
  53. package/lib/generated/services/awsconnector.js +1 -1
  54. package/lib/generated/services/b2bi.js +4 -4
  55. package/lib/generated/services/backup-gateway.js +4 -4
  56. package/lib/generated/services/backup-search.js +4 -4
  57. package/lib/generated/services/backup-storage.js +1 -1
  58. package/lib/generated/services/backup.js +4 -4
  59. package/lib/generated/services/batch.js +4 -4
  60. package/lib/generated/services/bcm-dashboards.js +4 -4
  61. package/lib/generated/services/bcm-data-exports.js +4 -4
  62. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  63. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  64. package/lib/generated/services/bedrock-agentcore.d.ts +2 -0
  65. package/lib/generated/services/bedrock-agentcore.js +7 -5
  66. package/lib/generated/services/bedrock-mantle.js +3 -3
  67. package/lib/generated/services/bedrock-websearch.js +2 -2
  68. package/lib/generated/services/bedrock.d.ts +8 -0
  69. package/lib/generated/services/bedrock.js +13 -5
  70. package/lib/generated/services/billing.js +4 -4
  71. package/lib/generated/services/billingconductor.js +4 -4
  72. package/lib/generated/services/braket.js +4 -4
  73. package/lib/generated/services/budgets.js +4 -4
  74. package/lib/generated/services/bugbust.js +3 -3
  75. package/lib/generated/services/cases.js +4 -4
  76. package/lib/generated/services/cassandra.js +4 -4
  77. package/lib/generated/services/ce.js +4 -4
  78. package/lib/generated/services/chatbot.js +4 -4
  79. package/lib/generated/services/chime.js +4 -4
  80. package/lib/generated/services/cleanrooms-ml.js +4 -4
  81. package/lib/generated/services/cleanrooms.js +4 -4
  82. package/lib/generated/services/cloud9.js +4 -4
  83. package/lib/generated/services/clouddirectory.js +3 -3
  84. package/lib/generated/services/cloudformation.js +4 -4
  85. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  86. package/lib/generated/services/cloudfront.js +4 -4
  87. package/lib/generated/services/cloudhsm.js +4 -4
  88. package/lib/generated/services/cloudsearch.js +3 -3
  89. package/lib/generated/services/cloudshell.js +3 -3
  90. package/lib/generated/services/cloudtrail-data.js +4 -4
  91. package/lib/generated/services/cloudtrail.js +4 -4
  92. package/lib/generated/services/cloudwatch.js +9 -6
  93. package/lib/generated/services/codeartifact.js +4 -4
  94. package/lib/generated/services/codebuild.js +4 -4
  95. package/lib/generated/services/codecatalyst.js +4 -4
  96. package/lib/generated/services/codecommit.js +4 -4
  97. package/lib/generated/services/codeconnections.js +4 -4
  98. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  99. package/lib/generated/services/codedeploy.js +4 -4
  100. package/lib/generated/services/codeguru-profiler.js +4 -4
  101. package/lib/generated/services/codeguru-reviewer.js +4 -4
  102. package/lib/generated/services/codeguru-security.js +4 -4
  103. package/lib/generated/services/codeguru.js +1 -1
  104. package/lib/generated/services/codepipeline.js +4 -4
  105. package/lib/generated/services/codestar-connections.js +4 -4
  106. package/lib/generated/services/codestar-notifications.js +4 -4
  107. package/lib/generated/services/codestar.js +3 -3
  108. package/lib/generated/services/codewhisperer.js +3 -3
  109. package/lib/generated/services/cognito-identity.js +4 -4
  110. package/lib/generated/services/cognito-idp.js +4 -4
  111. package/lib/generated/services/cognito-sync.js +3 -3
  112. package/lib/generated/services/comprehend.js +4 -4
  113. package/lib/generated/services/comprehendmedical.js +3 -3
  114. package/lib/generated/services/compute-optimizer.js +3 -3
  115. package/lib/generated/services/config.js +4 -4
  116. package/lib/generated/services/connect-campaigns.js +4 -4
  117. package/lib/generated/services/connect.js +4 -4
  118. package/lib/generated/services/consoleapp.js +2 -2
  119. package/lib/generated/services/consolidatedbilling.js +1 -1
  120. package/lib/generated/services/controlcatalog.js +3 -3
  121. package/lib/generated/services/controltower.js +4 -4
  122. package/lib/generated/services/cost-optimization-hub.js +2 -2
  123. package/lib/generated/services/cur.js +4 -4
  124. package/lib/generated/services/customer-verification.js +1 -1
  125. package/lib/generated/services/databrew.js +4 -4
  126. package/lib/generated/services/dataexchange.js +4 -4
  127. package/lib/generated/services/datapipeline.js +4 -4
  128. package/lib/generated/services/datasync.js +4 -4
  129. package/lib/generated/services/datazone.js +4 -4
  130. package/lib/generated/services/dax.js +4 -4
  131. package/lib/generated/services/dbqms.js +1 -1
  132. package/lib/generated/services/deadline.js +4 -4
  133. package/lib/generated/services/detective.js +4 -4
  134. package/lib/generated/services/devicefarm.js +4 -4
  135. package/lib/generated/services/devops-guru.js +4 -4
  136. package/lib/generated/services/directconnect.js +4 -4
  137. package/lib/generated/services/discovery.js +3 -3
  138. package/lib/generated/services/dlm.js +4 -4
  139. package/lib/generated/services/dms.js +4 -4
  140. package/lib/generated/services/docdb-elastic.js +4 -4
  141. package/lib/generated/services/drs.js +4 -4
  142. package/lib/generated/services/ds-data.js +4 -4
  143. package/lib/generated/services/ds.js +4 -4
  144. package/lib/generated/services/dsql.js +4 -4
  145. package/lib/generated/services/dynamodb.js +4 -4
  146. package/lib/generated/services/ebs.js +4 -4
  147. package/lib/generated/services/ec2-instance-connect.js +4 -4
  148. package/lib/generated/services/ec2.d.ts +14 -0
  149. package/lib/generated/services/ec2.js +29 -7
  150. package/lib/generated/services/ec2messages.js +2 -2
  151. package/lib/generated/services/ecr-public.js +4 -4
  152. package/lib/generated/services/ecr.js +4 -4
  153. package/lib/generated/services/ecs-mcp.js +1 -1
  154. package/lib/generated/services/ecs.js +4 -4
  155. package/lib/generated/services/eks-auth.js +4 -4
  156. package/lib/generated/services/eks-mcp.js +1 -1
  157. package/lib/generated/services/eks.js +4 -4
  158. package/lib/generated/services/elasticache.js +4 -4
  159. package/lib/generated/services/elasticbeanstalk.js +4 -4
  160. package/lib/generated/services/elasticfilesystem.js +4 -4
  161. package/lib/generated/services/elasticloadbalancing.js +4 -4
  162. package/lib/generated/services/elasticmapreduce.js +4 -4
  163. package/lib/generated/services/elastictranscoder.js +2 -2
  164. package/lib/generated/services/elemental-activations.js +1 -1
  165. package/lib/generated/services/elemental-appliances-software.js +2 -2
  166. package/lib/generated/services/elemental-inference.js +4 -4
  167. package/lib/generated/services/elemental-support-cases.js +3 -3
  168. package/lib/generated/services/elemental-support-content.js +1 -1
  169. package/lib/generated/services/emr-containers.js +4 -4
  170. package/lib/generated/services/emr-serverless.js +4 -4
  171. package/lib/generated/services/entityresolution.js +4 -4
  172. package/lib/generated/services/es.js +4 -4
  173. package/lib/generated/services/events.js +4 -4
  174. package/lib/generated/services/eventsbilltoaws.js +3 -3
  175. package/lib/generated/services/evidently.js +3 -3
  176. package/lib/generated/services/evs.js +4 -4
  177. package/lib/generated/services/execute-api.js +4 -4
  178. package/lib/generated/services/finops-agent.js +1 -1
  179. package/lib/generated/services/finspace-api.js +3 -3
  180. package/lib/generated/services/finspace.js +4 -4
  181. package/lib/generated/services/firehose.js +4 -4
  182. package/lib/generated/services/fis.js +4 -4
  183. package/lib/generated/services/fms.js +4 -4
  184. package/lib/generated/services/forecast.js +4 -4
  185. package/lib/generated/services/frauddetector.js +4 -4
  186. package/lib/generated/services/freertos.js +3 -3
  187. package/lib/generated/services/freetier.js +2 -2
  188. package/lib/generated/services/fsx.js +4 -4
  189. package/lib/generated/services/gamelift.js +4 -4
  190. package/lib/generated/services/gameliftstreams.js +4 -4
  191. package/lib/generated/services/geo-maps.js +3 -3
  192. package/lib/generated/services/geo-places.js +3 -3
  193. package/lib/generated/services/geo-routes.js +3 -3
  194. package/lib/generated/services/geo.js +4 -4
  195. package/lib/generated/services/glacier.js +4 -4
  196. package/lib/generated/services/globalaccelerator.js +4 -4
  197. package/lib/generated/services/glue.js +4 -4
  198. package/lib/generated/services/grafana.js +4 -4
  199. package/lib/generated/services/greengrass.js +4 -4
  200. package/lib/generated/services/groundstation.js +4 -4
  201. package/lib/generated/services/groundtruthlabeling.js +1 -1
  202. package/lib/generated/services/guardduty.js +4 -4
  203. package/lib/generated/services/health-agent.js +4 -4
  204. package/lib/generated/services/health.js +4 -4
  205. package/lib/generated/services/healthlake.js +4 -4
  206. package/lib/generated/services/honeycode.js +2 -2
  207. package/lib/generated/services/iam.js +4 -4
  208. package/lib/generated/services/identity-sync.js +2 -2
  209. package/lib/generated/services/identitystore-auth.js +1 -1
  210. package/lib/generated/services/identitystore.js +4 -4
  211. package/lib/generated/services/imagebuilder.js +4 -4
  212. package/lib/generated/services/importexport.js +2 -2
  213. package/lib/generated/services/inspector-scan.js +2 -2
  214. package/lib/generated/services/inspector.js +2 -2
  215. package/lib/generated/services/inspector2-telemetry.js +1 -1
  216. package/lib/generated/services/inspector2.js +4 -4
  217. package/lib/generated/services/interconnect.js +4 -4
  218. package/lib/generated/services/internetmonitor.js +4 -4
  219. package/lib/generated/services/invoicing.js +4 -4
  220. package/lib/generated/services/iot-device-tester.js +1 -1
  221. package/lib/generated/services/iot.js +4 -4
  222. package/lib/generated/services/iotanalytics.js +3 -3
  223. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  224. package/lib/generated/services/iotevents.js +3 -3
  225. package/lib/generated/services/iotfleethub.js +3 -3
  226. package/lib/generated/services/iotfleetwise.js +4 -4
  227. package/lib/generated/services/iotjobsdata.js +4 -4
  228. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  229. package/lib/generated/services/iotsitewise.js +4 -4
  230. package/lib/generated/services/iottwinmaker.js +4 -4
  231. package/lib/generated/services/iotwireless.js +4 -4
  232. package/lib/generated/services/iq-permission.js +2 -2
  233. package/lib/generated/services/iq.js +2 -2
  234. package/lib/generated/services/ivs.js +4 -4
  235. package/lib/generated/services/ivschat.js +4 -4
  236. package/lib/generated/services/kafka-cluster.js +3 -3
  237. package/lib/generated/services/kafka.js +4 -4
  238. package/lib/generated/services/kafkaconnect.js +4 -4
  239. package/lib/generated/services/kendra-ranking.js +4 -4
  240. package/lib/generated/services/kendra.js +4 -4
  241. package/lib/generated/services/kinesis.js +4 -4
  242. package/lib/generated/services/kinesisanalytics.js +4 -4
  243. package/lib/generated/services/kinesisvideo.js +4 -4
  244. package/lib/generated/services/kms.js +4 -4
  245. package/lib/generated/services/lakeformation.js +3 -3
  246. package/lib/generated/services/lambda.js +4 -4
  247. package/lib/generated/services/launchwizard.js +4 -4
  248. package/lib/generated/services/lex.js +4 -4
  249. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  250. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  251. package/lib/generated/services/license-manager.js +4 -4
  252. package/lib/generated/services/lightsail.js +4 -4
  253. package/lib/generated/services/logs.js +4 -4
  254. package/lib/generated/services/lookoutequipment.js +4 -4
  255. package/lib/generated/services/lookoutmetrics.js +3 -3
  256. package/lib/generated/services/lookoutvision.js +3 -3
  257. package/lib/generated/services/m2.js +4 -4
  258. package/lib/generated/services/machinelearning.js +3 -3
  259. package/lib/generated/services/macie2.js +4 -4
  260. package/lib/generated/services/managedblockchain-query.js +2 -2
  261. package/lib/generated/services/managedblockchain.js +4 -4
  262. package/lib/generated/services/mapcredits.js +2 -2
  263. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  264. package/lib/generated/services/mechanicalturk.js +2 -2
  265. package/lib/generated/services/mediaconnect.js +4 -4
  266. package/lib/generated/services/mediaconvert.js +9 -6
  267. package/lib/generated/services/mediaimport.js +1 -1
  268. package/lib/generated/services/medialive.js +4 -4
  269. package/lib/generated/services/mediapackage-vod.js +4 -4
  270. package/lib/generated/services/mediapackage.js +4 -4
  271. package/lib/generated/services/mediapackagev2.js +4 -4
  272. package/lib/generated/services/mediastore.js +4 -4
  273. package/lib/generated/services/mediatailor.js +4 -4
  274. package/lib/generated/services/medical-imaging.js +4 -4
  275. package/lib/generated/services/memorydb.js +4 -4
  276. package/lib/generated/services/mgh.js +4 -4
  277. package/lib/generated/services/mgn.js +4 -4
  278. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  279. package/lib/generated/services/migrationhub-strategy.js +2 -2
  280. package/lib/generated/services/mobileanalytics.js +1 -1
  281. package/lib/generated/services/mobiletargeting.js +4 -4
  282. package/lib/generated/services/monitron.js +3 -3
  283. package/lib/generated/services/mpa.js +4 -4
  284. package/lib/generated/services/mq.js +4 -4
  285. package/lib/generated/services/neptune-db.js +4 -4
  286. package/lib/generated/services/neptune-graph.js +4 -4
  287. package/lib/generated/services/network-firewall.js +4 -4
  288. package/lib/generated/services/network-security-director.js +1 -1
  289. package/lib/generated/services/network-security-manager.js +4 -4
  290. package/lib/generated/services/networkflowmonitor.js +4 -4
  291. package/lib/generated/services/networkmanager-chat.js +1 -1
  292. package/lib/generated/services/networkmanager.js +4 -4
  293. package/lib/generated/services/networkmonitor.js +4 -4
  294. package/lib/generated/services/nimble.js +3 -3
  295. package/lib/generated/services/notifications-contacts.js +4 -4
  296. package/lib/generated/services/notifications.js +4 -4
  297. package/lib/generated/services/nova-act.js +3 -3
  298. package/lib/generated/services/oam.js +4 -4
  299. package/lib/generated/services/observabilityadmin.js +4 -4
  300. package/lib/generated/services/odb.js +4 -4
  301. package/lib/generated/services/omics.js +4 -4
  302. package/lib/generated/services/one.js +3 -3
  303. package/lib/generated/services/opensearch.js +3 -3
  304. package/lib/generated/services/opsworks-cm.js +2 -2
  305. package/lib/generated/services/opsworks.js +2 -2
  306. package/lib/generated/services/organizations.js +4 -4
  307. package/lib/generated/services/osis.js +4 -4
  308. package/lib/generated/services/outposts.js +4 -4
  309. package/lib/generated/services/panorama.js +3 -3
  310. package/lib/generated/services/partnercentral-account-management.js +2 -2
  311. package/lib/generated/services/partnercentral.js +4 -4
  312. package/lib/generated/services/payment-cryptography.js +4 -4
  313. package/lib/generated/services/payments.js +3 -3
  314. package/lib/generated/services/pca-connector-ad.js +4 -4
  315. package/lib/generated/services/pca-connector-scep.js +4 -4
  316. package/lib/generated/services/pcs.js +4 -4
  317. package/lib/generated/services/personalize.js +4 -4
  318. package/lib/generated/services/pi.js +4 -4
  319. package/lib/generated/services/pipes.js +4 -4
  320. package/lib/generated/services/polly.js +3 -3
  321. package/lib/generated/services/pricing.js +2 -2
  322. package/lib/generated/services/pricingplanmanager.js +3 -3
  323. package/lib/generated/services/private-networks.js +3 -3
  324. package/lib/generated/services/profile.js +4 -4
  325. package/lib/generated/services/proton.js +4 -4
  326. package/lib/generated/services/purchase-orders.js +3 -3
  327. package/lib/generated/services/q.js +3 -3
  328. package/lib/generated/services/qapps.js +4 -4
  329. package/lib/generated/services/qbusiness.js +4 -4
  330. package/lib/generated/services/qdeveloper.js +3 -3
  331. package/lib/generated/services/qldb.js +3 -3
  332. package/lib/generated/services/quicksight.js +4 -4
  333. package/lib/generated/services/ram.js +4 -4
  334. package/lib/generated/services/rbin.js +4 -4
  335. package/lib/generated/services/rds-data.js +4 -4
  336. package/lib/generated/services/rds-db.js +2 -2
  337. package/lib/generated/services/rds.js +4 -4
  338. package/lib/generated/services/redshift-data.js +4 -4
  339. package/lib/generated/services/redshift-serverless.js +4 -4
  340. package/lib/generated/services/redshift.js +4 -4
  341. package/lib/generated/services/refactor-spaces.js +4 -4
  342. package/lib/generated/services/rekognition.js +4 -4
  343. package/lib/generated/services/repostspace.js +4 -4
  344. package/lib/generated/services/researchstudio.js +1 -1
  345. package/lib/generated/services/resiliencehub.js +4 -4
  346. package/lib/generated/services/resource-explorer-2.js +4 -4
  347. package/lib/generated/services/resource-explorer.js +1 -1
  348. package/lib/generated/services/resource-groups.js +4 -4
  349. package/lib/generated/services/rhelkb.js +1 -1
  350. package/lib/generated/services/robomaker.js +3 -3
  351. package/lib/generated/services/rolesanywhere.js +4 -4
  352. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  353. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  354. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  355. package/lib/generated/services/route53.js +4 -4
  356. package/lib/generated/services/route53domains.js +2 -2
  357. package/lib/generated/services/route53globalresolver.js +4 -4
  358. package/lib/generated/services/route53profiles.js +4 -4
  359. package/lib/generated/services/route53resolver.js +4 -4
  360. package/lib/generated/services/rtbfabric.js +4 -4
  361. package/lib/generated/services/rum.js +4 -4
  362. package/lib/generated/services/s3-object-lambda.js +3 -3
  363. package/lib/generated/services/s3-outposts.js +4 -4
  364. package/lib/generated/services/s3.js +4 -4
  365. package/lib/generated/services/s3express.js +3 -3
  366. package/lib/generated/services/s3files.js +4 -4
  367. package/lib/generated/services/s3tables.js +4 -4
  368. package/lib/generated/services/s3vectors.js +4 -4
  369. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  370. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  371. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  372. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  373. package/lib/generated/services/sagemaker.d.ts +2 -2
  374. package/lib/generated/services/sagemaker.js +11 -10
  375. package/lib/generated/services/savingsplans.js +4 -4
  376. package/lib/generated/services/scheduler.js +4 -4
  377. package/lib/generated/services/schemas.js +4 -4
  378. package/lib/generated/services/scn.js +4 -4
  379. package/lib/generated/services/sdb.js +3 -3
  380. package/lib/generated/services/secretsmanager.js +4 -4
  381. package/lib/generated/services/security-ir.js +4 -4
  382. package/lib/generated/services/securityagent.d.ts +6 -0
  383. package/lib/generated/services/securityagent.js +15 -5
  384. package/lib/generated/services/securityhub.js +4 -4
  385. package/lib/generated/services/securitylake.js +4 -4
  386. package/lib/generated/services/serverlessrepo.js +4 -4
  387. package/lib/generated/services/servicecatalog.js +4 -4
  388. package/lib/generated/services/servicediscovery.js +4 -4
  389. package/lib/generated/services/serviceextract.js +1 -1
  390. package/lib/generated/services/servicequotas.js +4 -4
  391. package/lib/generated/services/ses.js +4 -4
  392. package/lib/generated/services/shield.js +4 -4
  393. package/lib/generated/services/signer.js +4 -4
  394. package/lib/generated/services/signin.js +4 -4
  395. package/lib/generated/services/simspaceweaver.js +3 -3
  396. package/lib/generated/services/sms-voice.js +4 -4
  397. package/lib/generated/services/sms.js +1 -1
  398. package/lib/generated/services/snow-device-management.js +4 -4
  399. package/lib/generated/services/snowball.js +2 -2
  400. package/lib/generated/services/sns.js +4 -4
  401. package/lib/generated/services/social-messaging.d.ts +6 -0
  402. package/lib/generated/services/social-messaging.js +23 -8
  403. package/lib/generated/services/sqlworkbench.js +3 -3
  404. package/lib/generated/services/sqs.js +4 -4
  405. package/lib/generated/services/ssm-contacts.js +4 -4
  406. package/lib/generated/services/ssm-guiconnect.js +2 -2
  407. package/lib/generated/services/ssm-incidents.js +4 -4
  408. package/lib/generated/services/ssm-quicksetup.js +4 -4
  409. package/lib/generated/services/ssm-sap.js +4 -4
  410. package/lib/generated/services/ssm.js +4 -4
  411. package/lib/generated/services/ssmmessages.js +2 -2
  412. package/lib/generated/services/sso-directory.js +1 -1
  413. package/lib/generated/services/sso-oauth.js +3 -3
  414. package/lib/generated/services/sso.js +4 -4
  415. package/lib/generated/services/states.js +4 -4
  416. package/lib/generated/services/storagegateway.js +4 -4
  417. package/lib/generated/services/sts.js +4 -4
  418. package/lib/generated/services/support-console.js +1 -1
  419. package/lib/generated/services/support.js +2 -2
  420. package/lib/generated/services/supportapp.js +2 -2
  421. package/lib/generated/services/supportauthz.js +4 -4
  422. package/lib/generated/services/supportplans.js +1 -1
  423. package/lib/generated/services/sustainability.js +2 -2
  424. package/lib/generated/services/swf.js +4 -4
  425. package/lib/generated/services/synthetics.js +4 -4
  426. package/lib/generated/services/tag.js +2 -2
  427. package/lib/generated/services/tax.js +2 -2
  428. package/lib/generated/services/textract.js +4 -4
  429. package/lib/generated/services/thinclient.js +4 -4
  430. package/lib/generated/services/timestream-influxdb.js +4 -4
  431. package/lib/generated/services/timestream.js +4 -4
  432. package/lib/generated/services/tiros.js +1 -1
  433. package/lib/generated/services/tnb.js +4 -4
  434. package/lib/generated/services/transcribe.js +4 -4
  435. package/lib/generated/services/transfer.js +4 -4
  436. package/lib/generated/services/transform-custom.js +3 -3
  437. package/lib/generated/services/transform.js +3 -3
  438. package/lib/generated/services/translate.js +4 -4
  439. package/lib/generated/services/trustedadvisor.js +3 -3
  440. package/lib/generated/services/ts.js +3 -3
  441. package/lib/generated/services/user-subscriptions.js +2 -2
  442. package/lib/generated/services/uxc.js +2 -2
  443. package/lib/generated/services/vendor-insights.js +3 -3
  444. package/lib/generated/services/verified-access.js +1 -1
  445. package/lib/generated/services/verifiedpermissions.js +4 -4
  446. package/lib/generated/services/voiceid.js +4 -4
  447. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  448. package/lib/generated/services/vpc-lattice.js +4 -4
  449. package/lib/generated/services/vpce.js +2 -2
  450. package/lib/generated/services/waf-regional.js +4 -4
  451. package/lib/generated/services/waf.js +4 -4
  452. package/lib/generated/services/wafv2.js +4 -4
  453. package/lib/generated/services/wam.js +1 -1
  454. package/lib/generated/services/wellarchitected.js +4 -4
  455. package/lib/generated/services/wickr.js +4 -4
  456. package/lib/generated/services/wisdom.js +4 -4
  457. package/lib/generated/services/workdocs.js +3 -3
  458. package/lib/generated/services/worklink.js +3 -3
  459. package/lib/generated/services/workmail.js +4 -4
  460. package/lib/generated/services/workmailmessageflow.js +3 -3
  461. package/lib/generated/services/workspaces-instances.js +4 -4
  462. package/lib/generated/services/workspaces-web.js +4 -4
  463. package/lib/generated/services/workspaces.js +4 -4
  464. package/lib/generated/services/xray.js +4 -4
  465. package/package.json +1 -1
@@ -16,7 +16,7 @@ class LookoutVisionActions {
16
16
  }
17
17
  exports.LookoutVisionActions = LookoutVisionActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- LookoutVisionActions[_a] = { fqn: "@cdk_utils/iam.lookoutvision.LookoutVisionActions", version: "1.31.0" };
19
+ LookoutVisionActions[_a] = { fqn: "@cdk_utils/iam.lookoutvision.LookoutVisionActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  LookoutVisionActions.SERVICE_PREFIX = "lookoutvision";
22
22
  /** [Write] lookoutvision:CreateDataset */
@@ -174,7 +174,7 @@ class LookoutVisionResources {
174
174
  }
175
175
  exports.LookoutVisionResources = LookoutVisionResources;
176
176
  _b = JSII_RTTI_SYMBOL_1;
177
- LookoutVisionResources[_b] = { fqn: "@cdk_utils/iam.lookoutvision.LookoutVisionResources", version: "1.31.0" };
177
+ LookoutVisionResources[_b] = { fqn: "@cdk_utils/iam.lookoutvision.LookoutVisionResources", version: "1.32.0" };
178
178
  /**
179
179
  * Condition key constants and builders for lookoutvision.
180
180
  */
@@ -200,7 +200,7 @@ class LookoutVisionConditions {
200
200
  }
201
201
  exports.LookoutVisionConditions = LookoutVisionConditions;
202
202
  _c = JSII_RTTI_SYMBOL_1;
203
- LookoutVisionConditions[_c] = { fqn: "@cdk_utils/iam.lookoutvision.LookoutVisionConditions", version: "1.31.0" };
203
+ LookoutVisionConditions[_c] = { fqn: "@cdk_utils/iam.lookoutvision.LookoutVisionConditions", version: "1.32.0" };
204
204
  /** Condition keys applicable to the CreateModel action. */
205
205
  LookoutVisionConditions.CreateModelConditionKeys = [
206
206
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class M2Actions {
16
16
  }
17
17
  exports.M2Actions = M2Actions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- M2Actions[_a] = { fqn: "@cdk_utils/iam.m2.M2Actions", version: "1.31.0" };
19
+ M2Actions[_a] = { fqn: "@cdk_utils/iam.m2.M2Actions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  M2Actions.SERVICE_PREFIX = "m2";
22
22
  /** [Write] m2:CancelBatchJobExecution */
@@ -209,7 +209,7 @@ class M2Resources {
209
209
  }
210
210
  exports.M2Resources = M2Resources;
211
211
  _b = JSII_RTTI_SYMBOL_1;
212
- M2Resources[_b] = { fqn: "@cdk_utils/iam.m2.M2Resources", version: "1.31.0" };
212
+ M2Resources[_b] = { fqn: "@cdk_utils/iam.m2.M2Resources", version: "1.32.0" };
213
213
  /**
214
214
  * API operation to required IAM actions mapping for m2.
215
215
  */
@@ -217,7 +217,7 @@ class M2Operations {
217
217
  }
218
218
  exports.M2Operations = M2Operations;
219
219
  _c = JSII_RTTI_SYMBOL_1;
220
- M2Operations[_c] = { fqn: "@cdk_utils/iam.m2.M2Operations", version: "1.31.0" };
220
+ M2Operations[_c] = { fqn: "@cdk_utils/iam.m2.M2Operations", version: "1.32.0" };
221
221
  /** IAM actions required for the CancelBatchJobExecution API call. */
222
222
  M2Operations.CancelBatchJobExecution = [
223
223
  "m2:CancelBatchJobExecution",
@@ -354,7 +354,7 @@ class M2Conditions {
354
354
  }
355
355
  exports.M2Conditions = M2Conditions;
356
356
  _d = JSII_RTTI_SYMBOL_1;
357
- M2Conditions[_d] = { fqn: "@cdk_utils/iam.m2.M2Conditions", version: "1.31.0" };
357
+ M2Conditions[_d] = { fqn: "@cdk_utils/iam.m2.M2Conditions", version: "1.32.0" };
358
358
  /** Condition keys applicable to the CreateApplication action. */
359
359
  M2Conditions.CreateApplicationConditionKeys = [
360
360
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class MachineLearningActions {
16
16
  }
17
17
  exports.MachineLearningActions = MachineLearningActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- MachineLearningActions[_a] = { fqn: "@cdk_utils/iam.machinelearning.MachineLearningActions", version: "1.31.0" };
19
+ MachineLearningActions[_a] = { fqn: "@cdk_utils/iam.machinelearning.MachineLearningActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  MachineLearningActions.SERVICE_PREFIX = "machinelearning";
22
22
  /** [Tagging] machinelearning:AddTags */
@@ -240,7 +240,7 @@ class MachineLearningResources {
240
240
  }
241
241
  exports.MachineLearningResources = MachineLearningResources;
242
242
  _b = JSII_RTTI_SYMBOL_1;
243
- MachineLearningResources[_b] = { fqn: "@cdk_utils/iam.machinelearning.MachineLearningResources", version: "1.31.0" };
243
+ MachineLearningResources[_b] = { fqn: "@cdk_utils/iam.machinelearning.MachineLearningResources", version: "1.32.0" };
244
244
  /**
245
245
  * API operation to required IAM actions mapping for machinelearning.
246
246
  */
@@ -248,7 +248,7 @@ class MachineLearningOperations {
248
248
  }
249
249
  exports.MachineLearningOperations = MachineLearningOperations;
250
250
  _c = JSII_RTTI_SYMBOL_1;
251
- MachineLearningOperations[_c] = { fqn: "@cdk_utils/iam.machinelearning.MachineLearningOperations", version: "1.31.0" };
251
+ MachineLearningOperations[_c] = { fqn: "@cdk_utils/iam.machinelearning.MachineLearningOperations", version: "1.32.0" };
252
252
  /** IAM actions required for the AddTags API call. */
253
253
  MachineLearningOperations.AddTags = ["machinelearning:AddTags"];
254
254
  /** IAM actions required for the CreateBatchPrediction API call. */
@@ -16,7 +16,7 @@ class Macie2Actions {
16
16
  }
17
17
  exports.Macie2Actions = Macie2Actions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- Macie2Actions[_a] = { fqn: "@cdk_utils/iam.macie2.Macie2Actions", version: "1.31.0" };
19
+ Macie2Actions[_a] = { fqn: "@cdk_utils/iam.macie2.Macie2Actions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  Macie2Actions.SERVICE_PREFIX = "macie2";
22
22
  /** [Write] macie2:AcceptInvitation */
@@ -428,7 +428,7 @@ class Macie2Resources {
428
428
  }
429
429
  exports.Macie2Resources = Macie2Resources;
430
430
  _b = JSII_RTTI_SYMBOL_1;
431
- Macie2Resources[_b] = { fqn: "@cdk_utils/iam.macie2.Macie2Resources", version: "1.31.0" };
431
+ Macie2Resources[_b] = { fqn: "@cdk_utils/iam.macie2.Macie2Resources", version: "1.32.0" };
432
432
  /**
433
433
  * API operation to required IAM actions mapping for macie2.
434
434
  */
@@ -436,7 +436,7 @@ class Macie2Operations {
436
436
  }
437
437
  exports.Macie2Operations = Macie2Operations;
438
438
  _c = JSII_RTTI_SYMBOL_1;
439
- Macie2Operations[_c] = { fqn: "@cdk_utils/iam.macie2.Macie2Operations", version: "1.31.0" };
439
+ Macie2Operations[_c] = { fqn: "@cdk_utils/iam.macie2.Macie2Operations", version: "1.32.0" };
440
440
  /** IAM actions required for the AcceptInvitation API call. */
441
441
  Macie2Operations.AcceptInvitation = ["macie2:AcceptInvitation"];
442
442
  /** IAM actions required for the BatchGetCustomDataIdentifiers API call. */
@@ -740,7 +740,7 @@ class Macie2Conditions {
740
740
  }
741
741
  exports.Macie2Conditions = Macie2Conditions;
742
742
  _d = JSII_RTTI_SYMBOL_1;
743
- Macie2Conditions[_d] = { fqn: "@cdk_utils/iam.macie2.Macie2Conditions", version: "1.31.0" };
743
+ Macie2Conditions[_d] = { fqn: "@cdk_utils/iam.macie2.Macie2Conditions", version: "1.32.0" };
744
744
  /** Condition keys applicable to the CreateAllowList action. */
745
745
  Macie2Conditions.CreateAllowListConditionKeys = [
746
746
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class ManagedblockchainQueryActions {
16
16
  }
17
17
  exports.ManagedblockchainQueryActions = ManagedblockchainQueryActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- ManagedblockchainQueryActions[_a] = { fqn: "@cdk_utils/iam.managedblockchain_query.ManagedblockchainQueryActions", version: "1.31.0" };
19
+ ManagedblockchainQueryActions[_a] = { fqn: "@cdk_utils/iam.managedblockchain_query.ManagedblockchainQueryActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  ManagedblockchainQueryActions.SERVICE_PREFIX = "managedblockchain-query";
22
22
  /** [Read] managedblockchain-query:BatchGetTokenBalance */
@@ -65,7 +65,7 @@ class ManagedblockchainQueryOperations {
65
65
  }
66
66
  exports.ManagedblockchainQueryOperations = ManagedblockchainQueryOperations;
67
67
  _b = JSII_RTTI_SYMBOL_1;
68
- ManagedblockchainQueryOperations[_b] = { fqn: "@cdk_utils/iam.managedblockchain_query.ManagedblockchainQueryOperations", version: "1.31.0" };
68
+ ManagedblockchainQueryOperations[_b] = { fqn: "@cdk_utils/iam.managedblockchain_query.ManagedblockchainQueryOperations", version: "1.32.0" };
69
69
  /** IAM actions required for the BatchGetTokenBalance API call. */
70
70
  ManagedblockchainQueryOperations.BatchGetTokenBalance = [
71
71
  "managedblockchain-query:BatchGetTokenBalance",
@@ -16,7 +16,7 @@ class ManagedblockchainActions {
16
16
  }
17
17
  exports.ManagedblockchainActions = ManagedblockchainActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- ManagedblockchainActions[_a] = { fqn: "@cdk_utils/iam.managedblockchain.ManagedblockchainActions", version: "1.31.0" };
19
+ ManagedblockchainActions[_a] = { fqn: "@cdk_utils/iam.managedblockchain.ManagedblockchainActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  ManagedblockchainActions.SERVICE_PREFIX = "managedblockchain";
22
22
  /** [Write] managedblockchain:CreateAccessor */
@@ -317,7 +317,7 @@ class ManagedblockchainResources {
317
317
  }
318
318
  exports.ManagedblockchainResources = ManagedblockchainResources;
319
319
  _b = JSII_RTTI_SYMBOL_1;
320
- ManagedblockchainResources[_b] = { fqn: "@cdk_utils/iam.managedblockchain.ManagedblockchainResources", version: "1.31.0" };
320
+ ManagedblockchainResources[_b] = { fqn: "@cdk_utils/iam.managedblockchain.ManagedblockchainResources", version: "1.32.0" };
321
321
  /**
322
322
  * API operation to required IAM actions mapping for managedblockchain.
323
323
  */
@@ -325,7 +325,7 @@ class ManagedblockchainOperations {
325
325
  }
326
326
  exports.ManagedblockchainOperations = ManagedblockchainOperations;
327
327
  _c = JSII_RTTI_SYMBOL_1;
328
- ManagedblockchainOperations[_c] = { fqn: "@cdk_utils/iam.managedblockchain.ManagedblockchainOperations", version: "1.31.0" };
328
+ ManagedblockchainOperations[_c] = { fqn: "@cdk_utils/iam.managedblockchain.ManagedblockchainOperations", version: "1.32.0" };
329
329
  /** IAM actions required for the CreateAccessor API call. */
330
330
  ManagedblockchainOperations.CreateAccessor = [
331
331
  "managedblockchain:CreateAccessor",
@@ -432,7 +432,7 @@ class ManagedblockchainConditions {
432
432
  }
433
433
  exports.ManagedblockchainConditions = ManagedblockchainConditions;
434
434
  _d = JSII_RTTI_SYMBOL_1;
435
- ManagedblockchainConditions[_d] = { fqn: "@cdk_utils/iam.managedblockchain.ManagedblockchainConditions", version: "1.31.0" };
435
+ ManagedblockchainConditions[_d] = { fqn: "@cdk_utils/iam.managedblockchain.ManagedblockchainConditions", version: "1.32.0" };
436
436
  /** Condition keys applicable to the CreateAccessor action. */
437
437
  ManagedblockchainConditions.CreateAccessorConditionKeys = [
438
438
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class MapcreditsActions {
16
16
  }
17
17
  exports.MapcreditsActions = MapcreditsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- MapcreditsActions[_a] = { fqn: "@cdk_utils/iam.mapcredits.MapcreditsActions", version: "1.31.0" };
19
+ MapcreditsActions[_a] = { fqn: "@cdk_utils/iam.mapcredits.MapcreditsActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  MapcreditsActions.SERVICE_PREFIX = "mapcredits";
22
22
  /** [List] mapcredits:ListAssociatedPrograms */
@@ -76,5 +76,5 @@ class MapcreditsResources {
76
76
  }
77
77
  exports.MapcreditsResources = MapcreditsResources;
78
78
  _b = JSII_RTTI_SYMBOL_1;
79
- MapcreditsResources[_b] = { fqn: "@cdk_utils/iam.mapcredits.MapcreditsResources", version: "1.31.0" };
79
+ MapcreditsResources[_b] = { fqn: "@cdk_utils/iam.mapcredits.MapcreditsResources", version: "1.32.0" };
80
80
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwY3JlZGl0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvbWFwY3JlZGl0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELGlEQUFpRDtBQUNqRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7O0FBQTlCLDhDQXlCQzs7O0FBeEJBLDhCQUE4QjtBQUNkLGdDQUFjLEdBQUcsWUFBWSxDQUFDO0FBRTlDLCtDQUErQztBQUMvQix3Q0FBc0IsR0FBRyxtQ0FBbUMsQ0FBQztBQUM3RSwyQ0FBMkM7QUFDM0Isb0NBQWtCLEdBQUcsK0JBQStCLENBQUM7QUFDckUseUNBQXlDO0FBQ3pCLGtDQUFnQixHQUFHLDZCQUE2QixDQUFDO0FBRWpFLDhCQUE4QjtBQUNkLGdDQUFjLEdBQWEsRUFBRSxDQUFDO0FBQzlDLCtCQUErQjtBQUNmLGlDQUFlLEdBQWEsRUFBRSxDQUFDO0FBQy9DLDhCQUE4QjtBQUNkLGdDQUFjLEdBQWE7SUFDMUMsaUJBQWlCLENBQUMsc0JBQXNCO0lBQ3hDLGlCQUFpQixDQUFDLGtCQUFrQjtJQUNwQyxpQkFBaUIsQ0FBQyxnQkFBZ0I7Q0FDbEMsQ0FBQztBQUNGLCtDQUErQztBQUMvQixnREFBOEIsR0FBYSxFQUFFLENBQUM7QUFDOUQsaUNBQWlDO0FBQ2pCLG1DQUFpQixHQUFhLEVBQUUsQ0FBQztBQW1DbEQsTUFBTSxpQkFBaUIsR0FDdEIsdUZBQXVGLENBQUM7QUFFekY7O0dBRUc7QUFDSCxNQUFhLG1CQUFtQjtJQUMvQjs7T0FFRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBa0M7UUFDbEQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxpQkFBaUIsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxTQUFTO1lBQ2xDLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFdBQVc7U0FDdEMsQ0FBQztJQUNILENBQUM7O0FBL0JGLGtEQWdDQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL21hcGNyZWRpdHMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIG1hcGNyZWRpdHMgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hcGNyZWRpdHNBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwibWFwY3JlZGl0c1wiO1xuXG5cdC8qKiBbTGlzdF0gbWFwY3JlZGl0czpMaXN0QXNzb2NpYXRlZFByb2dyYW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzb2NpYXRlZFByb2dyYW1zID0gXCJtYXBjcmVkaXRzOkxpc3RBc3NvY2lhdGVkUHJvZ3JhbXNcIjtcblx0LyoqIFtMaXN0XSBtYXBjcmVkaXRzOkxpc3RRdWFydGVyQ3JlZGl0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFF1YXJ0ZXJDcmVkaXRzID0gXCJtYXBjcmVkaXRzOkxpc3RRdWFydGVyQ3JlZGl0c1wiO1xuXHQvKiogW0xpc3RdIG1hcGNyZWRpdHM6TGlzdFF1YXJ0ZXJTcGVuZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFF1YXJ0ZXJTcGVuZCA9IFwibWFwY3JlZGl0czpMaXN0UXVhcnRlclNwZW5kXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRNYXBjcmVkaXRzQWN0aW9ucy5MaXN0QXNzb2NpYXRlZFByb2dyYW1zLFxuXHRcdE1hcGNyZWRpdHNBY3Rpb25zLkxpc3RRdWFydGVyQ3JlZGl0cyxcblx0XHRNYXBjcmVkaXRzQWN0aW9ucy5MaXN0UXVhcnRlclNwZW5kLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWdyZWVtZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXBjcmVkaXRzQWdyZWVtZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEFncmVlbWVudCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdyZWVtZW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdyZWVtZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFncmVlbWVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWdyZWVtZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXBjcmVkaXRzQWdyZWVtZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ3JlZW1lbnQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ3JlZW1lbnQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ3JlZW1lbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFncmVlbWVudElkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFncmVlbWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTptYXBjcmVkaXRzOjo6KD88YWdyZWVtZW50PlteOi8/XSspXFwvKD88YWdyZWVtZW50SWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBtYXBjcmVkaXRzIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hcGNyZWRpdHNSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFncmVlbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZ3JlZW1lbnQocHJvcHM6IE1hcGNyZWRpdHNBZ3JlZW1lbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bWFwY3JlZGl0czo6OiR7cHJvcHMuYWdyZWVtZW50fS8ke3Byb3BzLmFncmVlbWVudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhZ3JlZW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFncmVlbWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBZ3JlZW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWdyZWVtZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFncmVlbWVudEFybihhcm46IHN0cmluZyk6IE1hcGNyZWRpdHNBZ3JlZW1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFncmVlbWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhZ3JlZW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWdyZWVtZW50OiBtYXRjaC5ncm91cHMhLmFncmVlbWVudCxcblx0XHRcdGFncmVlbWVudElkOiBtYXRjaC5ncm91cHMhLmFncmVlbWVudElkLFxuXHRcdH07XG5cdH1cbn1cbiJdfQ==
@@ -16,7 +16,7 @@ class MarketplacecommerceanalyticsActions {
16
16
  }
17
17
  exports.MarketplacecommerceanalyticsActions = MarketplacecommerceanalyticsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- MarketplacecommerceanalyticsActions[_a] = { fqn: "@cdk_utils/iam.marketplacecommerceanalytics.MarketplacecommerceanalyticsActions", version: "1.31.0" };
19
+ MarketplacecommerceanalyticsActions[_a] = { fqn: "@cdk_utils/iam.marketplacecommerceanalytics.MarketplacecommerceanalyticsActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  MarketplacecommerceanalyticsActions.SERVICE_PREFIX = "marketplacecommerceanalytics";
22
22
  /** [Write] marketplacecommerceanalytics:GenerateDataSet */
@@ -43,7 +43,7 @@ class MarketplacecommerceanalyticsOperations {
43
43
  }
44
44
  exports.MarketplacecommerceanalyticsOperations = MarketplacecommerceanalyticsOperations;
45
45
  _b = JSII_RTTI_SYMBOL_1;
46
- MarketplacecommerceanalyticsOperations[_b] = { fqn: "@cdk_utils/iam.marketplacecommerceanalytics.MarketplacecommerceanalyticsOperations", version: "1.31.0" };
46
+ MarketplacecommerceanalyticsOperations[_b] = { fqn: "@cdk_utils/iam.marketplacecommerceanalytics.MarketplacecommerceanalyticsOperations", version: "1.32.0" };
47
47
  /** IAM actions required for the GenerateDataSet API call. */
48
48
  MarketplacecommerceanalyticsOperations.GenerateDataSet = [];
49
49
  /** IAM actions required for the StartSupportDataExport API call. */
@@ -16,7 +16,7 @@ class MechanicalturkActions {
16
16
  }
17
17
  exports.MechanicalturkActions = MechanicalturkActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- MechanicalturkActions[_a] = { fqn: "@cdk_utils/iam.mechanicalturk.MechanicalturkActions", version: "1.31.0" };
19
+ MechanicalturkActions[_a] = { fqn: "@cdk_utils/iam.mechanicalturk.MechanicalturkActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  MechanicalturkActions.SERVICE_PREFIX = "mechanicalturk";
22
22
  /** [Write] mechanicalturk:AcceptQualificationRequest */
@@ -156,7 +156,7 @@ class MechanicalturkOperations {
156
156
  }
157
157
  exports.MechanicalturkOperations = MechanicalturkOperations;
158
158
  _b = JSII_RTTI_SYMBOL_1;
159
- MechanicalturkOperations[_b] = { fqn: "@cdk_utils/iam.mechanicalturk.MechanicalturkOperations", version: "1.31.0" };
159
+ MechanicalturkOperations[_b] = { fqn: "@cdk_utils/iam.mechanicalturk.MechanicalturkOperations", version: "1.32.0" };
160
160
  /** IAM actions required for the AcceptQualificationRequest API call. */
161
161
  MechanicalturkOperations.AcceptQualificationRequest = [
162
162
  "mechanicalturk:AcceptQualificationRequest",
@@ -16,7 +16,7 @@ class MediaConnectActions {
16
16
  }
17
17
  exports.MediaConnectActions = MediaConnectActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- MediaConnectActions[_a] = { fqn: "@cdk_utils/iam.mediaconnect.MediaConnectActions", version: "1.31.0" };
19
+ MediaConnectActions[_a] = { fqn: "@cdk_utils/iam.mediaconnect.MediaConnectActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  MediaConnectActions.SERVICE_PREFIX = "mediaconnect";
22
22
  /** [Write] mediaconnect:AddBridgeOutputs */
@@ -699,7 +699,7 @@ class MediaConnectResources {
699
699
  }
700
700
  exports.MediaConnectResources = MediaConnectResources;
701
701
  _b = JSII_RTTI_SYMBOL_1;
702
- MediaConnectResources[_b] = { fqn: "@cdk_utils/iam.mediaconnect.MediaConnectResources", version: "1.31.0" };
702
+ MediaConnectResources[_b] = { fqn: "@cdk_utils/iam.mediaconnect.MediaConnectResources", version: "1.32.0" };
703
703
  /**
704
704
  * API operation to required IAM actions mapping for mediaconnect.
705
705
  */
@@ -707,7 +707,7 @@ class MediaConnectOperations {
707
707
  }
708
708
  exports.MediaConnectOperations = MediaConnectOperations;
709
709
  _c = JSII_RTTI_SYMBOL_1;
710
- MediaConnectOperations[_c] = { fqn: "@cdk_utils/iam.mediaconnect.MediaConnectOperations", version: "1.31.0" };
710
+ MediaConnectOperations[_c] = { fqn: "@cdk_utils/iam.mediaconnect.MediaConnectOperations", version: "1.32.0" };
711
711
  /** IAM actions required for the AddBridgeOutputs API call. */
712
712
  MediaConnectOperations.AddBridgeOutputs = [
713
713
  "mediaconnect:AddBridgeOutputs",
@@ -1064,7 +1064,7 @@ class MediaConnectConditions {
1064
1064
  }
1065
1065
  exports.MediaConnectConditions = MediaConnectConditions;
1066
1066
  _d = JSII_RTTI_SYMBOL_1;
1067
- MediaConnectConditions[_d] = { fqn: "@cdk_utils/iam.mediaconnect.MediaConnectConditions", version: "1.31.0" };
1067
+ MediaConnectConditions[_d] = { fqn: "@cdk_utils/iam.mediaconnect.MediaConnectConditions", version: "1.32.0" };
1068
1068
  /** Condition keys applicable to the AddFlowMediaStreams action. */
1069
1069
  MediaConnectConditions.AddFlowMediaStreamsConditionKeys = [
1070
1070
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class MediaConvertActions {
16
16
  }
17
17
  exports.MediaConvertActions = MediaConvertActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- MediaConvertActions[_a] = { fqn: "@cdk_utils/iam.mediaconvert.MediaConvertActions", version: "1.31.0" };
19
+ MediaConvertActions[_a] = { fqn: "@cdk_utils/iam.mediaconvert.MediaConvertActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  MediaConvertActions.SERVICE_PREFIX = "mediaconvert";
22
22
  /** [Write] mediaconvert:AssociateCertificate */
@@ -281,7 +281,7 @@ class MediaConvertResources {
281
281
  }
282
282
  exports.MediaConvertResources = MediaConvertResources;
283
283
  _b = JSII_RTTI_SYMBOL_1;
284
- MediaConvertResources[_b] = { fqn: "@cdk_utils/iam.mediaconvert.MediaConvertResources", version: "1.31.0" };
284
+ MediaConvertResources[_b] = { fqn: "@cdk_utils/iam.mediaconvert.MediaConvertResources", version: "1.32.0" };
285
285
  /**
286
286
  * API operation to required IAM actions mapping for mediaconvert.
287
287
  */
@@ -289,7 +289,7 @@ class MediaConvertOperations {
289
289
  }
290
290
  exports.MediaConvertOperations = MediaConvertOperations;
291
291
  _c = JSII_RTTI_SYMBOL_1;
292
- MediaConvertOperations[_c] = { fqn: "@cdk_utils/iam.mediaconvert.MediaConvertOperations", version: "1.31.0" };
292
+ MediaConvertOperations[_c] = { fqn: "@cdk_utils/iam.mediaconvert.MediaConvertOperations", version: "1.32.0" };
293
293
  /** IAM actions required for the AssociateCertificate API call. */
294
294
  MediaConvertOperations.AssociateCertificate = [
295
295
  "mediaconvert:AssociateCertificate",
@@ -340,7 +340,10 @@ MediaConvertOperations.DisassociateCertificate = [
340
340
  "mediaconvert:DisassociateCertificate",
341
341
  ];
342
342
  /** IAM actions required for the GetJob API call. */
343
- MediaConvertOperations.opGetJob = ["mediaconvert:GetJob"];
343
+ MediaConvertOperations.opGetJob = [
344
+ "mediaconvert:GetJob",
345
+ "mediaconvert:ListJobs",
346
+ ];
344
347
  /** IAM actions required for the GetJobTemplate API call. */
345
348
  MediaConvertOperations.opGetJobTemplate = [
346
349
  "mediaconvert:GetJobTemplate",
@@ -436,7 +439,7 @@ class MediaConvertConditions {
436
439
  }
437
440
  exports.MediaConvertConditions = MediaConvertConditions;
438
441
  _d = JSII_RTTI_SYMBOL_1;
439
- MediaConvertConditions[_d] = { fqn: "@cdk_utils/iam.mediaconvert.MediaConvertConditions", version: "1.31.0" };
442
+ MediaConvertConditions[_d] = { fqn: "@cdk_utils/iam.mediaconvert.MediaConvertConditions", version: "1.32.0" };
440
443
  /** Condition keys applicable to the CreateJob action. */
441
444
  MediaConvertConditions.CreateJobConditionKeys = [
442
445
  "aws:RequestTag/${TagKey}",
@@ -481,4 +484,4 @@ MediaConvertConditions.HTTP_INPUTS_ALLOWED = "mediaconvert:HttpInputsAllowed";
481
484
  MediaConvertConditions.HTTPS_INPUTS_ALLOWED = "mediaconvert:HttpsInputsAllowed";
482
485
  /** Condition key: mediaconvert:S3InputsAllowed (Bool) */
483
486
  MediaConvertConditions.S3_INPUTS_ALLOWED = "mediaconvert:S3InputsAllowed";
484
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWFjb252ZXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9tZWRpYWNvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxtREFBbUQ7QUFDbkQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsbUJBQW1COztBQUFoQyxrREFvSEM7OztBQW5IQSw4QkFBOEI7QUFDZCxrQ0FBYyxHQUFHLGNBQWMsQ0FBQztBQUVoRCxnREFBZ0Q7QUFDaEMsd0NBQW9CLEdBQUcsbUNBQW1DLENBQUM7QUFDM0UscUNBQXFDO0FBQ3JCLDZCQUFTLEdBQUcsd0JBQXdCLENBQUM7QUFDckQscUNBQXFDO0FBQ3JCLDZCQUFTLEdBQUcsd0JBQXdCLENBQUM7QUFDckQsNkNBQTZDO0FBQzdCLHFDQUFpQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3JFLHdDQUF3QztBQUN4QixnQ0FBWSxHQUFHLDJCQUEyQixDQUFDO0FBQzNELHVDQUF1QztBQUN2QiwrQkFBVyxHQUFHLDBCQUEwQixDQUFDO0FBQ3pELCtDQUErQztBQUMvQix1Q0FBbUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUN6RSw2Q0FBNkM7QUFDN0IscUNBQWlCLEdBQUcsZ0NBQWdDLENBQUM7QUFDckUsd0NBQXdDO0FBQ3hCLGdDQUFZLEdBQUcsMkJBQTJCLENBQUM7QUFDM0Qsd0NBQXdDO0FBQ3hCLGdDQUFZLEdBQUcsMkJBQTJCLENBQUM7QUFDM0QsdUNBQXVDO0FBQ3ZCLCtCQUFXLEdBQUcsMEJBQTBCLENBQUM7QUFDekQsNENBQTRDO0FBQzVCLHFDQUFpQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3JFLG1EQUFtRDtBQUNuQywyQ0FBdUIsR0FDdEMsc0NBQXNDLENBQUM7QUFDeEMsaUNBQWlDO0FBQ2pCLGdDQUFZLEdBQUcscUJBQXFCLENBQUM7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QjtDQUM5QixDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELHFEQUE4QixHQUFhO0lBQzFELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDREQUE0RDtBQUM1QyxnREFBeUIsR0FBYTtJQUNyRCwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLCtDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsYUFBYTtDQUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsK0NBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLGlEQUEwQixHQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsdURBQXVEO0FBQ3ZDLHNDQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLHVDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQyxtQ0FBWSxHQUFHLGFBQWEsQ0FBQztBQUM3QywyREFBMkQ7QUFDM0MsMENBQW1CLEdBQUcsZ0NBQWdDLENBQUM7QUFDdkUsNERBQTREO0FBQzVDLDJDQUFvQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3pFLHlEQUF5RDtBQUN6Qyx3Q0FBaUIsR0FBRyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL21lZGlhY29udmVydC5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgbWVkaWFjb252ZXJ0IHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBNZWRpYUNvbnZlcnRBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwibWVkaWFjb252ZXJ0XCI7XG5cblx0LyoqIFtXcml0ZV0gbWVkaWFjb252ZXJ0OkFzc29jaWF0ZUNlcnRpZmljYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVDZXJ0aWZpY2F0ZSA9IFwibWVkaWFjb252ZXJ0OkFzc29jaWF0ZUNlcnRpZmljYXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1lZGlhY29udmVydDpDYW5jZWxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEpvYiA9IFwibWVkaWFjb252ZXJ0OkNhbmNlbEpvYlwiO1xuXHQvKiogW1dyaXRlXSBtZWRpYWNvbnZlcnQ6Q3JlYXRlSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVKb2IgPSBcIm1lZGlhY29udmVydDpDcmVhdGVKb2JcIjtcblx0LyoqIFtXcml0ZV0gbWVkaWFjb252ZXJ0OkNyZWF0ZUpvYlRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVKb2JUZW1wbGF0ZSA9IFwibWVkaWFjb252ZXJ0OkNyZWF0ZUpvYlRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1lZGlhY29udmVydDpDcmVhdGVQcmVzZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNldCA9IFwibWVkaWFjb252ZXJ0OkNyZWF0ZVByZXNldFwiO1xuXHQvKiogW1dyaXRlXSBtZWRpYWNvbnZlcnQ6Q3JlYXRlUXVldWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVF1ZXVlID0gXCJtZWRpYWNvbnZlcnQ6Q3JlYXRlUXVldWVcIjtcblx0LyoqIFtXcml0ZV0gbWVkaWFjb252ZXJ0OkNyZWF0ZVJlc291cmNlU2hhcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlU2hhcmUgPSBcIm1lZGlhY29udmVydDpDcmVhdGVSZXNvdXJjZVNoYXJlXCI7XG5cdC8qKiBbV3JpdGVdIG1lZGlhY29udmVydDpEZWxldGVKb2JUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iVGVtcGxhdGUgPSBcIm1lZGlhY29udmVydDpEZWxldGVKb2JUZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBtZWRpYWNvbnZlcnQ6RGVsZXRlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQb2xpY3kgPSBcIm1lZGlhY29udmVydDpEZWxldGVQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gbWVkaWFjb252ZXJ0OkRlbGV0ZVByZXNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJlc2V0ID0gXCJtZWRpYWNvbnZlcnQ6RGVsZXRlUHJlc2V0XCI7XG5cdC8qKiBbV3JpdGVdIG1lZGlhY29udmVydDpEZWxldGVRdWV1ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUXVldWUgPSBcIm1lZGlhY29udmVydDpEZWxldGVRdWV1ZVwiO1xuXHQvKiogW0xpc3RdIG1lZGlhY29udmVydDpEZXNjcmliZUVuZHBvaW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludHMgPSBcIm1lZGlhY29udmVydDpEZXNjcmliZUVuZHBvaW50c1wiO1xuXHQvKiogW1dyaXRlXSBtZWRpYWNvbnZlcnQ6RGlzYXNzb2NpYXRlQ2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUNlcnRpZmljYXRlID1cblx0XHRcIm1lZGlhY29udmVydDpEaXNhc3NvY2lhdGVDZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1JlYWRdIG1lZGlhY29udmVydDpHZXRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEpvYiA9IFwibWVkaWFjb252ZXJ0OkdldEpvYlwiO1xuXHQvKiogW1JlYWRdIG1lZGlhY29udmVydDpHZXRKb2JUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Sm9iVGVtcGxhdGUgPSBcIm1lZGlhY29udmVydDpHZXRKb2JUZW1wbGF0ZVwiO1xuXHQvKiogW1JlYWRdIG1lZGlhY29udmVydDpHZXRQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBvbGljeSA9IFwibWVkaWFjb252ZXJ0OkdldFBvbGljeVwiO1xuXHQvKiogW1JlYWRdIG1lZGlhY29udmVydDpHZXRQcmVzZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByZXNldCA9IFwibWVkaWFjb252ZXJ0OkdldFByZXNldFwiO1xuXHQvKiogW1JlYWRdIG1lZGlhY29udmVydDpHZXRRdWV1ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UXVldWUgPSBcIm1lZGlhY29udmVydDpHZXRRdWV1ZVwiO1xuXHQvKiogW0xpc3RdIG1lZGlhY29udmVydDpMaXN0Sm9iVGVtcGxhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm9iVGVtcGxhdGVzID0gXCJtZWRpYWNvbnZlcnQ6TGlzdEpvYlRlbXBsYXRlc1wiO1xuXHQvKiogW0xpc3RdIG1lZGlhY29udmVydDpMaXN0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvYnMgPSBcIm1lZGlhY29udmVydDpMaXN0Sm9ic1wiO1xuXHQvKiogW0xpc3RdIG1lZGlhY29udmVydDpMaXN0UHJlc2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByZXNldHMgPSBcIm1lZGlhY29udmVydDpMaXN0UHJlc2V0c1wiO1xuXHQvKiogW0xpc3RdIG1lZGlhY29udmVydDpMaXN0UXVldWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UXVldWVzID0gXCJtZWRpYWNvbnZlcnQ6TGlzdFF1ZXVlc1wiO1xuXHQvKiogW1JlYWRdIG1lZGlhY29udmVydDpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJtZWRpYWNvbnZlcnQ6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIG1lZGlhY29udmVydDpMaXN0VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RWZXJzaW9ucyA9IFwibWVkaWFjb252ZXJ0Okxpc3RWZXJzaW9uc1wiO1xuXHQvKiogW1JlYWRdIG1lZGlhY29udmVydDpQcm9iZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJvYmUgPSBcIm1lZGlhY29udmVydDpQcm9iZVwiO1xuXHQvKiogW1dyaXRlXSBtZWRpYWNvbnZlcnQ6UHV0UG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQb2xpY3kgPSBcIm1lZGlhY29udmVydDpQdXRQb2xpY3lcIjtcblx0LyoqIFtMaXN0XSBtZWRpYWNvbnZlcnQ6U2VhcmNoSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoSm9icyA9IFwibWVkaWFjb252ZXJ0OlNlYXJjaEpvYnNcIjtcblx0LyoqIFtUYWdnaW5nXSBtZWRpYWNvbnZlcnQ6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJtZWRpYWNvbnZlcnQ6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBtZWRpYWNvbnZlcnQ6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwibWVkaWFjb252ZXJ0OlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gbWVkaWFjb252ZXJ0OlVwZGF0ZUpvYlRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVKb2JUZW1wbGF0ZSA9IFwibWVkaWFjb252ZXJ0OlVwZGF0ZUpvYlRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1lZGlhY29udmVydDpVcGRhdGVQcmVzZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByZXNldCA9IFwibWVkaWFjb252ZXJ0OlVwZGF0ZVByZXNldFwiO1xuXHQvKiogW1dyaXRlXSBtZWRpYWNvbnZlcnQ6VXBkYXRlUXVldWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVF1ZXVlID0gXCJtZWRpYWNvbnZlcnQ6VXBkYXRlUXVldWVcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLmFjdGlvbkdldEpvYixcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLmFjdGlvbkdldEpvYlRlbXBsYXRlLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuYWN0aW9uR2V0UG9saWN5LFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuYWN0aW9uR2V0UHJlc2V0LFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuYWN0aW9uR2V0UXVldWUsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuUHJvYmUsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5Bc3NvY2lhdGVDZXJ0aWZpY2F0ZSxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkNhbmNlbEpvYixcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkNyZWF0ZUpvYixcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkNyZWF0ZUpvYlRlbXBsYXRlLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuQ3JlYXRlUHJlc2V0LFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuQ3JlYXRlUXVldWUsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5DcmVhdGVSZXNvdXJjZVNoYXJlLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuRGVsZXRlSm9iVGVtcGxhdGUsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5EZWxldGVQb2xpY3ksXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5EZWxldGVQcmVzZXQsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5EZWxldGVRdWV1ZSxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkRpc2Fzc29jaWF0ZUNlcnRpZmljYXRlLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuUHV0UG9saWN5LFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuVXBkYXRlSm9iVGVtcGxhdGUsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5VcGRhdGVQcmVzZXQsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5VcGRhdGVRdWV1ZSxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5EZXNjcmliZUVuZHBvaW50cyxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkxpc3RKb2JUZW1wbGF0ZXMsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5MaXN0Sm9icyxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkxpc3RQcmVzZXRzLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuTGlzdFF1ZXVlcyxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkxpc3RWZXJzaW9ucyxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLlNlYXJjaEpvYnMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ2VydGlmaWNhdGVBc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFDb252ZXJ0Q2VydGlmaWNhdGVBc3NvY2lhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDZXJ0aWZpY2F0ZUFybiBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2VydGlmaWNhdGVBUk46IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDZXJ0aWZpY2F0ZUFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZWRpYUNvbnZlcnRDZXJ0aWZpY2F0ZUFzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDZXJ0aWZpY2F0ZUFybiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNlcnRpZmljYXRlQVJOOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBKb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhQ29udmVydEpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBKb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhQ29udmVydEpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgSm9iVGVtcGxhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhQ29udmVydEpvYlRlbXBsYXRlQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYlRlbXBsYXRlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iVGVtcGxhdGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgSm9iVGVtcGxhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhQ29udmVydEpvYlRlbXBsYXRlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JUZW1wbGF0ZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JUZW1wbGF0ZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFByZXNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFDb252ZXJ0UHJlc2V0QXJuUHJvcHMge1xuXHQvKiogVGhlIFByZXNldE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByZXNldE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBQcmVzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhQ29udmVydFByZXNldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJlc2V0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByZXNldE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFF1ZXVlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZWRpYUNvbnZlcnRRdWV1ZUFyblByb3BzIHtcblx0LyoqIFRoZSBRdWV1ZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHF1ZXVlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFF1ZXVlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZWRpYUNvbnZlcnRRdWV1ZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUXVldWVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcXVldWVOYW1lOiBzdHJpbmc7XG59XG5cbmNvbnN0IENlcnRpZmljYXRlQXNzb2NpYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWVkaWFjb252ZXJ0Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2VydGlmaWNhdGVzXFwvKD88Y2VydGlmaWNhdGVBUk4+W146Lz9dKykkLztcbmNvbnN0IEpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTptZWRpYWNvbnZlcnQ6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpqb2JzXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IEpvYlRlbXBsYXRlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm1lZGlhY29udmVydDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmpvYlRlbXBsYXRlc1xcLyg/PGpvYlRlbXBsYXRlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUHJlc2V0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm1lZGlhY29udmVydDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByZXNldHNcXC8oPzxwcmVzZXROYW1lPlteOi8/XSspJC87XG5jb25zdCBRdWV1ZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTptZWRpYWNvbnZlcnQ6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpxdWV1ZXNcXC8oPzxxdWV1ZU5hbWU+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBtZWRpYWNvbnZlcnQgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgTWVkaWFDb252ZXJ0UmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDZXJ0aWZpY2F0ZUFzc29jaWF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNlcnRpZmljYXRlQXNzb2NpYXRpb24oXG5cdFx0cHJvcHM6IE1lZGlhQ29udmVydENlcnRpZmljYXRlQXNzb2NpYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTptZWRpYWNvbnZlcnQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2VydGlmaWNhdGVzLyR7cHJvcHMuY2VydGlmaWNhdGVBUk59YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENlcnRpZmljYXRlQXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENlcnRpZmljYXRlQXNzb2NpYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2VydGlmaWNhdGVBc3NvY2lhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDZXJ0aWZpY2F0ZUFzc29jaWF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNlcnRpZmljYXRlQXNzb2NpYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IE1lZGlhQ29udmVydENlcnRpZmljYXRlQXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENlcnRpZmljYXRlQXNzb2NpYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ2VydGlmaWNhdGVBc3NvY2lhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjZXJ0aWZpY2F0ZUFSTjogbWF0Y2guZ3JvdXBzIS5jZXJ0aWZpY2F0ZUFSTixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBKb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgam9iKHByb3BzOiBNZWRpYUNvbnZlcnRKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bWVkaWFjb252ZXJ0OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmpvYnMvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgSm9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VKb2JBcm4oYXJuOiBzdHJpbmcpOiBNZWRpYUNvbnZlcnRKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBKb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWQ6IG1hdGNoLmdyb3VwcyEuam9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgSm9iVGVtcGxhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgam9iVGVtcGxhdGUocHJvcHM6IE1lZGlhQ29udmVydEpvYlRlbXBsYXRlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om1lZGlhY29udmVydDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpqb2JUZW1wbGF0ZXMvJHtwcm9wcy5qb2JUZW1wbGF0ZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEpvYlRlbXBsYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRKb2JUZW1wbGF0ZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBKb2JUZW1wbGF0ZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBKb2JUZW1wbGF0ZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VKb2JUZW1wbGF0ZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTWVkaWFDb252ZXJ0Sm9iVGVtcGxhdGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEpvYlRlbXBsYXRlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEpvYlRlbXBsYXRlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYlRlbXBsYXRlTmFtZTogbWF0Y2guZ3JvdXBzIS5qb2JUZW1wbGF0ZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUHJlc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByZXNldChwcm9wczogTWVkaWFDb252ZXJ0UHJlc2V0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om1lZGlhY29udmVydDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcmVzZXRzLyR7cHJvcHMucHJlc2V0TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUHJlc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcmVzZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJlc2V0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFByZXNldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcmVzZXRBcm4oYXJuOiBzdHJpbmcpOiBNZWRpYUNvbnZlcnRQcmVzZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByZXNldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQcmVzZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJlc2V0TmFtZTogbWF0Y2guZ3JvdXBzIS5wcmVzZXROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFF1ZXVlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHF1ZXVlKHByb3BzOiBNZWRpYUNvbnZlcnRRdWV1ZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTptZWRpYWNvbnZlcnQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cXVldWVzLyR7cHJvcHMucXVldWVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBRdWV1ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUXVldWVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUXVldWVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUXVldWUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUXVldWVBcm4oYXJuOiBzdHJpbmcpOiBNZWRpYUNvbnZlcnRRdWV1ZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUXVldWVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUXVldWUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cXVldWVOYW1lOiBtYXRjaC5ncm91cHMhLnF1ZXVlTmFtZSxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBtZWRpYWNvbnZlcnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBNZWRpYUNvbnZlcnRPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlQ2VydGlmaWNhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVDZXJ0aWZpY2F0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJtZWRpYWNvbnZlcnQ6QXNzb2NpYXRlQ2VydGlmaWNhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsSm9iOiBzdHJpbmdbXSA9IFtcIm1lZGlhY29udmVydDpDYW5jZWxKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJtZWRpYWNvbnZlcnQ6Q3JlYXRlSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcIm1lZGlhY29udmVydDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVKb2JUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYlRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1lZGlhY29udmVydDpDcmVhdGVKb2JUZW1wbGF0ZVwiLFxuXHRcdFwibWVkaWFjb252ZXJ0OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByZXNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJtZWRpYWNvbnZlcnQ6Q3JlYXRlUHJlc2V0XCIsXG5cdFx0XCJtZWRpYWNvbnZlcnQ6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUXVldWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVRdWV1ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJtZWRpYWNvbnZlcnQ6Q3JlYXRlUXVldWVcIixcblx0XHRcIm1lZGlhY29udmVydDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXNvdXJjZVNoYXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VTaGFyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJtZWRpYWNvbnZlcnQ6Q3JlYXRlUmVzb3VyY2VTaGFyZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVKb2JUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUpvYlRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1lZGlhY29udmVydDpEZWxldGVKb2JUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQb2xpY3k6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OkRlbGV0ZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJlc2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJlc2V0OiBzdHJpbmdbXSA9IFtcIm1lZGlhY29udmVydDpEZWxldGVQcmVzZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVF1ZXVlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUXVldWU6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OkRlbGV0ZVF1ZXVlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVuZHBvaW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1lZGlhY29udmVydDpEZXNjcmliZUVuZHBvaW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVDZXJ0aWZpY2F0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUNlcnRpZmljYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1lZGlhY29udmVydDpEaXNhc3NvY2lhdGVDZXJ0aWZpY2F0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEpvYjogc3RyaW5nW10gPSBbXCJtZWRpYWNvbnZlcnQ6R2V0Sm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRKb2JUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Sm9iVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibWVkaWFjb252ZXJ0OkdldEpvYlRlbXBsYXRlXCIsXG5cdFx0XCJtZWRpYWNvbnZlcnQ6TGlzdEpvYlRlbXBsYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRKb2JzUXVlcnlSZXN1bHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRKb2JzUXVlcnlSZXN1bHRzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBvbGljeTogc3RyaW5nW10gPSBbXCJtZWRpYWNvbnZlcnQ6R2V0UG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcmVzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByZXNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJtZWRpYWNvbnZlcnQ6R2V0UHJlc2V0XCIsXG5cdFx0XCJtZWRpYWNvbnZlcnQ6TGlzdFByZXNldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UXVldWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFF1ZXVlOiBzdHJpbmdbXSA9IFtcIm1lZGlhY29udmVydDpHZXRRdWV1ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEpvYlRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JUZW1wbGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWVkaWFjb252ZXJ0Okxpc3RKb2JUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm9iczogc3RyaW5nW10gPSBbXCJtZWRpYWNvbnZlcnQ6TGlzdEpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcmVzZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByZXNldHM6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0Okxpc3RQcmVzZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UXVldWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFF1ZXVlczogc3RyaW5nW10gPSBbXCJtZWRpYWNvbnZlcnQ6TGlzdFF1ZXVlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwibWVkaWFjb252ZXJ0Okxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcIm1lZGlhY29udmVydDpMaXN0VmVyc2lvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFByb2JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJvYmU6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OlByb2JlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQb2xpY3k6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OlB1dFBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VhcmNoSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaEpvYnM6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OlNlYXJjaEpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Sm9ic1F1ZXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRKb2JzUXVlcnk6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJtZWRpYWNvbnZlcnQ6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSm9iVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVKb2JUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJtZWRpYWNvbnZlcnQ6VXBkYXRlSm9iVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJlc2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJlc2V0OiBzdHJpbmdbXSA9IFtcIm1lZGlhY29udmVydDpVcGRhdGVQcmVzZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVF1ZXVlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUXVldWU6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OlVwZGF0ZVF1ZXVlXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgbWVkaWFjb252ZXJ0LlxuICovXG5leHBvcnQgY2xhc3MgTWVkaWFDb252ZXJ0Q29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJtZWRpYWNvbnZlcnQ6SHR0cElucHV0c0FsbG93ZWRcIixcblx0XHRcIm1lZGlhY29udmVydDpIdHRwc0lucHV0c0FsbG93ZWRcIixcblx0XHRcIm1lZGlhY29udmVydDpTM0lucHV0c0FsbG93ZWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUpvYlRlbXBsYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYlRlbXBsYXRlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcmVzZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVRdWV1ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVRdWV1ZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogbWVkaWFjb252ZXJ0Okh0dHBJbnB1dHNBbGxvd2VkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSFRUUF9JTlBVVFNfQUxMT1dFRCA9IFwibWVkaWFjb252ZXJ0Okh0dHBJbnB1dHNBbGxvd2VkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBtZWRpYWNvbnZlcnQ6SHR0cHNJbnB1dHNBbGxvd2VkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSFRUUFNfSU5QVVRTX0FMTE9XRUQgPSBcIm1lZGlhY29udmVydDpIdHRwc0lucHV0c0FsbG93ZWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IG1lZGlhY29udmVydDpTM0lucHV0c0FsbG93ZWQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBTM19JTlBVVFNfQUxMT1dFRCA9IFwibWVkaWFjb252ZXJ0OlMzSW5wdXRzQWxsb3dlZFwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBtZWRpYWNvbnZlcnQ6SHR0cElucHV0c0FsbG93ZWRgLlxuXHQgKi9cblx0c3RhdGljIGh0dHBJbnB1dHNBbGxvd2VkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJtZWRpYWNvbnZlcnQ6SHR0cElucHV0c0FsbG93ZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYG1lZGlhY29udmVydDpIdHRwc0lucHV0c0FsbG93ZWRgLlxuXHQgKi9cblx0c3RhdGljIGh0dHBzSW5wdXRzQWxsb3dlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwibWVkaWFjb252ZXJ0Okh0dHBzSW5wdXRzQWxsb3dlZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgbWVkaWFjb252ZXJ0OlMzSW5wdXRzQWxsb3dlZGAuXG5cdCAqL1xuXHRzdGF0aWMgczNJbnB1dHNBbGxvd2VkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJtZWRpYWNvbnZlcnQ6UzNJbnB1dHNBbGxvd2VkXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
487
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWFjb252ZXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9tZWRpYWNvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxtREFBbUQ7QUFDbkQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsbUJBQW1COztBQUFoQyxrREFvSEM7OztBQW5IQSw4QkFBOEI7QUFDZCxrQ0FBYyxHQUFHLGNBQWMsQ0FBQztBQUVoRCxnREFBZ0Q7QUFDaEMsd0NBQW9CLEdBQUcsbUNBQW1DLENBQUM7QUFDM0UscUNBQXFDO0FBQ3JCLDZCQUFTLEdBQUcsd0JBQXdCLENBQUM7QUFDckQscUNBQXFDO0FBQ3JCLDZCQUFTLEdBQUcsd0JBQXdCLENBQUM7QUFDckQsNkNBQTZDO0FBQzdCLHFDQUFpQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3JFLHdDQUF3QztBQUN4QixnQ0FBWSxHQUFHLDJCQUEyQixDQUFDO0FBQzNELHVDQUF1QztBQUN2QiwrQkFBVyxHQUFHLDBCQUEwQixDQUFDO0FBQ3pELCtDQUErQztBQUMvQix1Q0FBbUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUN6RSw2Q0FBNkM7QUFDN0IscUNBQWlCLEdBQUcsZ0NBQWdDLENBQUM7QUFDckUsd0NBQXdDO0FBQ3hCLGdDQUFZLEdBQUcsMkJBQTJCLENBQUM7QUFDM0Qsd0NBQXdDO0FBQ3hCLGdDQUFZLEdBQUcsMkJBQTJCLENBQUM7QUFDM0QsdUNBQXVDO0FBQ3ZCLCtCQUFXLEdBQUcsMEJBQTBCLENBQUM7QUFDekQsNENBQTRDO0FBQzVCLHFDQUFpQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3JFLG1EQUFtRDtBQUNuQywyQ0FBdUIsR0FDdEMsc0NBQXNDLENBQUM7QUFDeEMsaUNBQWlDO0FBQ2pCLGdDQUFZLEdBQUcscUJBQXFCLENBQUM7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aUM7SUFDakMsOEJBQThCO0NBQzlCLENBQUM7QUFDRixpRUFBaUU7QUFDakQscURBQThCLEdBQWE7SUFDMUQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGdEQUF5QixHQUFhO0lBQ3JELDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsYUFBYTtDQUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsK0NBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQywrQ0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsaURBQTBCLEdBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV2RSx1REFBdUQ7QUFDdkMsc0NBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsdUNBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLG1DQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzdDLDJEQUEyRDtBQUMzQywwQ0FBbUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN2RSw0REFBNEQ7QUFDNUMsMkNBQW9CLEdBQUcsaUNBQWlDLENBQUM7QUFDekUseURBQXlEO0FBQ3pDLHdDQUFpQixHQUFHLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvbWVkaWFjb252ZXJ0Lmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBtZWRpYWNvbnZlcnQgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1lZGlhQ29udmVydEFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJtZWRpYWNvbnZlcnRcIjtcblxuXHQvKiogW1dyaXRlXSBtZWRpYWNvbnZlcnQ6QXNzb2NpYXRlQ2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUNlcnRpZmljYXRlID0gXCJtZWRpYWNvbnZlcnQ6QXNzb2NpYXRlQ2VydGlmaWNhdGVcIjtcblx0LyoqIFtXcml0ZV0gbWVkaWFjb252ZXJ0OkNhbmNlbEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsSm9iID0gXCJtZWRpYWNvbnZlcnQ6Q2FuY2VsSm9iXCI7XG5cdC8qKiBbV3JpdGVdIG1lZGlhY29udmVydDpDcmVhdGVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYiA9IFwibWVkaWFjb252ZXJ0OkNyZWF0ZUpvYlwiO1xuXHQvKiogW1dyaXRlXSBtZWRpYWNvbnZlcnQ6Q3JlYXRlSm9iVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYlRlbXBsYXRlID0gXCJtZWRpYWNvbnZlcnQ6Q3JlYXRlSm9iVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gbWVkaWFjb252ZXJ0OkNyZWF0ZVByZXNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2V0ID0gXCJtZWRpYWNvbnZlcnQ6Q3JlYXRlUHJlc2V0XCI7XG5cdC8qKiBbV3JpdGVdIG1lZGlhY29udmVydDpDcmVhdGVRdWV1ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUXVldWUgPSBcIm1lZGlhY29udmVydDpDcmVhdGVRdWV1ZVwiO1xuXHQvKiogW1dyaXRlXSBtZWRpYWNvbnZlcnQ6Q3JlYXRlUmVzb3VyY2VTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VTaGFyZSA9IFwibWVkaWFjb252ZXJ0OkNyZWF0ZVJlc291cmNlU2hhcmVcIjtcblx0LyoqIFtXcml0ZV0gbWVkaWFjb252ZXJ0OkRlbGV0ZUpvYlRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVKb2JUZW1wbGF0ZSA9IFwibWVkaWFjb252ZXJ0OkRlbGV0ZUpvYlRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIG1lZGlhY29udmVydDpEZWxldGVQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBvbGljeSA9IFwibWVkaWFjb252ZXJ0OkRlbGV0ZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBtZWRpYWNvbnZlcnQ6RGVsZXRlUHJlc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcmVzZXQgPSBcIm1lZGlhY29udmVydDpEZWxldGVQcmVzZXRcIjtcblx0LyoqIFtXcml0ZV0gbWVkaWFjb252ZXJ0OkRlbGV0ZVF1ZXVlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVRdWV1ZSA9IFwibWVkaWFjb252ZXJ0OkRlbGV0ZVF1ZXVlXCI7XG5cdC8qKiBbTGlzdF0gbWVkaWFjb252ZXJ0OkRlc2NyaWJlRW5kcG9pbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZHBvaW50cyA9IFwibWVkaWFjb252ZXJ0OkRlc2NyaWJlRW5kcG9pbnRzXCI7XG5cdC8qKiBbV3JpdGVdIG1lZGlhY29udmVydDpEaXNhc3NvY2lhdGVDZXJ0aWZpY2F0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQ2VydGlmaWNhdGUgPVxuXHRcdFwibWVkaWFjb252ZXJ0OkRpc2Fzc29jaWF0ZUNlcnRpZmljYXRlXCI7XG5cdC8qKiBbUmVhZF0gbWVkaWFjb252ZXJ0OkdldEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Sm9iID0gXCJtZWRpYWNvbnZlcnQ6R2V0Sm9iXCI7XG5cdC8qKiBbUmVhZF0gbWVkaWFjb252ZXJ0OkdldEpvYlRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRKb2JUZW1wbGF0ZSA9IFwibWVkaWFjb252ZXJ0OkdldEpvYlRlbXBsYXRlXCI7XG5cdC8qKiBbUmVhZF0gbWVkaWFjb252ZXJ0OkdldFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UG9saWN5ID0gXCJtZWRpYWNvbnZlcnQ6R2V0UG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gbWVkaWFjb252ZXJ0OkdldFByZXNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJlc2V0ID0gXCJtZWRpYWNvbnZlcnQ6R2V0UHJlc2V0XCI7XG5cdC8qKiBbUmVhZF0gbWVkaWFjb252ZXJ0OkdldFF1ZXVlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRRdWV1ZSA9IFwibWVkaWFjb252ZXJ0OkdldFF1ZXVlXCI7XG5cdC8qKiBbTGlzdF0gbWVkaWFjb252ZXJ0Okxpc3RKb2JUZW1wbGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JUZW1wbGF0ZXMgPSBcIm1lZGlhY29udmVydDpMaXN0Sm9iVGVtcGxhdGVzXCI7XG5cdC8qKiBbTGlzdF0gbWVkaWFjb252ZXJ0Okxpc3RKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm9icyA9IFwibWVkaWFjb252ZXJ0Okxpc3RKb2JzXCI7XG5cdC8qKiBbTGlzdF0gbWVkaWFjb252ZXJ0Okxpc3RQcmVzZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJlc2V0cyA9IFwibWVkaWFjb252ZXJ0Okxpc3RQcmVzZXRzXCI7XG5cdC8qKiBbTGlzdF0gbWVkaWFjb252ZXJ0Okxpc3RRdWV1ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RRdWV1ZXMgPSBcIm1lZGlhY29udmVydDpMaXN0UXVldWVzXCI7XG5cdC8qKiBbUmVhZF0gbWVkaWFjb252ZXJ0Okxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcIm1lZGlhY29udmVydDpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbTGlzdF0gbWVkaWFjb252ZXJ0Okxpc3RWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFZlcnNpb25zID0gXCJtZWRpYWNvbnZlcnQ6TGlzdFZlcnNpb25zXCI7XG5cdC8qKiBbUmVhZF0gbWVkaWFjb252ZXJ0OlByb2JlICovXG5cdHN0YXRpYyByZWFkb25seSBQcm9iZSA9IFwibWVkaWFjb252ZXJ0OlByb2JlXCI7XG5cdC8qKiBbV3JpdGVdIG1lZGlhY29udmVydDpQdXRQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFBvbGljeSA9IFwibWVkaWFjb252ZXJ0OlB1dFBvbGljeVwiO1xuXHQvKiogW0xpc3RdIG1lZGlhY29udmVydDpTZWFyY2hKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hKb2JzID0gXCJtZWRpYWNvbnZlcnQ6U2VhcmNoSm9ic1wiO1xuXHQvKiogW1RhZ2dpbmddIG1lZGlhY29udmVydDpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcIm1lZGlhY29udmVydDpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIG1lZGlhY29udmVydDpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJtZWRpYWNvbnZlcnQ6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBtZWRpYWNvbnZlcnQ6VXBkYXRlSm9iVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUpvYlRlbXBsYXRlID0gXCJtZWRpYWNvbnZlcnQ6VXBkYXRlSm9iVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gbWVkaWFjb252ZXJ0OlVwZGF0ZVByZXNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJlc2V0ID0gXCJtZWRpYWNvbnZlcnQ6VXBkYXRlUHJlc2V0XCI7XG5cdC8qKiBbV3JpdGVdIG1lZGlhY29udmVydDpVcGRhdGVRdWV1ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUXVldWUgPSBcIm1lZGlhY29udmVydDpVcGRhdGVRdWV1ZVwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuYWN0aW9uR2V0Sm9iLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuYWN0aW9uR2V0Sm9iVGVtcGxhdGUsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5hY3Rpb25HZXRQb2xpY3ksXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5hY3Rpb25HZXRQcmVzZXQsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5hY3Rpb25HZXRRdWV1ZSxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5Qcm9iZSxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkFzc29jaWF0ZUNlcnRpZmljYXRlLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuQ2FuY2VsSm9iLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuQ3JlYXRlSm9iLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuQ3JlYXRlSm9iVGVtcGxhdGUsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5DcmVhdGVQcmVzZXQsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5DcmVhdGVRdWV1ZSxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkNyZWF0ZVJlc291cmNlU2hhcmUsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5EZWxldGVKb2JUZW1wbGF0ZSxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkRlbGV0ZVBvbGljeSxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkRlbGV0ZVByZXNldCxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkRlbGV0ZVF1ZXVlLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuRGlzYXNzb2NpYXRlQ2VydGlmaWNhdGUsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5QdXRQb2xpY3ksXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5VcGRhdGVKb2JUZW1wbGF0ZSxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLlVwZGF0ZVByZXNldCxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLlVwZGF0ZVF1ZXVlLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkRlc2NyaWJlRW5kcG9pbnRzLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuTGlzdEpvYlRlbXBsYXRlcyxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLkxpc3RKb2JzLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuTGlzdFByZXNldHMsXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5MaXN0UXVldWVzLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuTGlzdFZlcnNpb25zLFxuXHRcdE1lZGlhQ29udmVydEFjdGlvbnMuU2VhcmNoSm9icyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0TWVkaWFDb252ZXJ0QWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRNZWRpYUNvbnZlcnRBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDZXJ0aWZpY2F0ZUFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZWRpYUNvbnZlcnRDZXJ0aWZpY2F0ZUFzc29jaWF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENlcnRpZmljYXRlQXJuIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjZXJ0aWZpY2F0ZUFSTjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENlcnRpZmljYXRlQXNzb2NpYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhQ29udmVydENlcnRpZmljYXRlQXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENlcnRpZmljYXRlQXJuIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2VydGlmaWNhdGVBUk46IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFDb252ZXJ0Sm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFDb252ZXJ0Sm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBKb2JUZW1wbGF0ZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFDb252ZXJ0Sm9iVGVtcGxhdGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iVGVtcGxhdGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JUZW1wbGF0ZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBKb2JUZW1wbGF0ZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFDb252ZXJ0Sm9iVGVtcGxhdGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYlRlbXBsYXRlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYlRlbXBsYXRlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUHJlc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZWRpYUNvbnZlcnRQcmVzZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJlc2V0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJlc2V0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFByZXNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFDb252ZXJ0UHJlc2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcmVzZXROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJlc2V0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUXVldWUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhQ29udmVydFF1ZXVlQXJuUHJvcHMge1xuXHQvKiogVGhlIFF1ZXVlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcXVldWVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUXVldWUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhQ29udmVydFF1ZXVlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBRdWV1ZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBxdWV1ZU5hbWU6IHN0cmluZztcbn1cblxuY29uc3QgQ2VydGlmaWNhdGVBc3NvY2lhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTptZWRpYWNvbnZlcnQ6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjZXJ0aWZpY2F0ZXNcXC8oPzxjZXJ0aWZpY2F0ZUFSTj5bXjovP10rKSQvO1xuY29uc3QgSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm1lZGlhY29udmVydDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmpvYnNcXC8oPzxqb2JJZD5bXjovP10rKSQvO1xuY29uc3QgSm9iVGVtcGxhdGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWVkaWFjb252ZXJ0Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6am9iVGVtcGxhdGVzXFwvKD88am9iVGVtcGxhdGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBQcmVzZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bWVkaWFjb252ZXJ0Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJlc2V0c1xcLyg/PHByZXNldE5hbWU+W146Lz9dKykkLztcbmNvbnN0IFF1ZXVlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm1lZGlhY29udmVydDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnF1ZXVlc1xcLyg/PHF1ZXVlTmFtZT5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIG1lZGlhY29udmVydCByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNZWRpYUNvbnZlcnRSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENlcnRpZmljYXRlQXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2VydGlmaWNhdGVBc3NvY2lhdGlvbihcblx0XHRwcm9wczogTWVkaWFDb252ZXJ0Q2VydGlmaWNhdGVBc3NvY2lhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om1lZGlhY29udmVydDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjZXJ0aWZpY2F0ZXMvJHtwcm9wcy5jZXJ0aWZpY2F0ZUFSTn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ2VydGlmaWNhdGVBc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2VydGlmaWNhdGVBc3NvY2lhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDZXJ0aWZpY2F0ZUFzc29jaWF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENlcnRpZmljYXRlQXNzb2NpYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2VydGlmaWNhdGVBc3NvY2lhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTWVkaWFDb252ZXJ0Q2VydGlmaWNhdGVBc3NvY2lhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2VydGlmaWNhdGVBc3NvY2lhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDZXJ0aWZpY2F0ZUFzc29jaWF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNlcnRpZmljYXRlQVJOOiBtYXRjaC5ncm91cHMhLmNlcnRpZmljYXRlQVJOLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBqb2IocHJvcHM6IE1lZGlhQ29udmVydEpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTptZWRpYWNvbnZlcnQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06am9icy8ke3Byb3BzLmpvYklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBKb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgSm9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUpvYkFybihhcm46IHN0cmluZyk6IE1lZGlhQ29udmVydEpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZDogbWF0Y2guZ3JvdXBzIS5qb2JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBKb2JUZW1wbGF0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBqb2JUZW1wbGF0ZShwcm9wczogTWVkaWFDb252ZXJ0Sm9iVGVtcGxhdGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bWVkaWFjb252ZXJ0OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmpvYlRlbXBsYXRlcy8ke3Byb3BzLmpvYlRlbXBsYXRlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgSm9iVGVtcGxhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEpvYlRlbXBsYXRlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEpvYlRlbXBsYXRlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEpvYlRlbXBsYXRlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUpvYlRlbXBsYXRlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBNZWRpYUNvbnZlcnRKb2JUZW1wbGF0ZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSm9iVGVtcGxhdGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgSm9iVGVtcGxhdGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iVGVtcGxhdGVOYW1lOiBtYXRjaC5ncm91cHMhLmpvYlRlbXBsYXRlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQcmVzZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJlc2V0KHByb3BzOiBNZWRpYUNvbnZlcnRQcmVzZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bWVkaWFjb252ZXJ0OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByZXNldHMvJHtwcm9wcy5wcmVzZXROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBQcmVzZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByZXNldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcmVzZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUHJlc2V0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByZXNldEFybihhcm46IHN0cmluZyk6IE1lZGlhQ29udmVydFByZXNldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJlc2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFByZXNldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcmVzZXROYW1lOiBtYXRjaC5ncm91cHMhLnByZXNldE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUXVldWUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcXVldWUocHJvcHM6IE1lZGlhQ29udmVydFF1ZXVlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om1lZGlhY29udmVydDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpxdWV1ZXMvJHtwcm9wcy5xdWV1ZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFF1ZXVlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRRdWV1ZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBRdWV1ZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBRdWV1ZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VRdWV1ZUFybihhcm46IHN0cmluZyk6IE1lZGlhQ29udmVydFF1ZXVlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBRdWV1ZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBRdWV1ZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRxdWV1ZU5hbWU6IG1hdGNoLmdyb3VwcyEucXVldWVOYW1lLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIG1lZGlhY29udmVydC5cbiAqL1xuZXhwb3J0IGNsYXNzIE1lZGlhQ29udmVydE9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVDZXJ0aWZpY2F0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUNlcnRpZmljYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1lZGlhY29udmVydDpBc3NvY2lhdGVDZXJ0aWZpY2F0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxKb2I6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OkNhbmNlbEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1lZGlhY29udmVydDpDcmVhdGVKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwibWVkaWFjb252ZXJ0OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUpvYlRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibWVkaWFjb252ZXJ0OkNyZWF0ZUpvYlRlbXBsYXRlXCIsXG5cdFx0XCJtZWRpYWNvbnZlcnQ6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcIm1lZGlhY29udmVydDpDcmVhdGVQcmVzZXRcIixcblx0XHRcIm1lZGlhY29udmVydDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVRdWV1ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVF1ZXVlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1lZGlhY29udmVydDpDcmVhdGVRdWV1ZVwiLFxuXHRcdFwibWVkaWFjb252ZXJ0OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlc291cmNlU2hhcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZVNoYXJlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1lZGlhY29udmVydDpDcmVhdGVSZXNvdXJjZVNoYXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUpvYlRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibWVkaWFjb252ZXJ0OkRlbGV0ZUpvYlRlbXBsYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBvbGljeTogc3RyaW5nW10gPSBbXCJtZWRpYWNvbnZlcnQ6RGVsZXRlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcmVzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcmVzZXQ6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OkRlbGV0ZVByZXNldFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUXVldWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVRdWV1ZTogc3RyaW5nW10gPSBbXCJtZWRpYWNvbnZlcnQ6RGVsZXRlUXVldWVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRW5kcG9pbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWVkaWFjb252ZXJ0OkRlc2NyaWJlRW5kcG9pbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUNlcnRpZmljYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQ2VydGlmaWNhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibWVkaWFjb252ZXJ0OkRpc2Fzc29jaWF0ZUNlcnRpZmljYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcIm1lZGlhY29udmVydDpHZXRKb2JcIixcblx0XHRcIm1lZGlhY29udmVydDpMaXN0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRKb2JUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Sm9iVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibWVkaWFjb252ZXJ0OkdldEpvYlRlbXBsYXRlXCIsXG5cdFx0XCJtZWRpYWNvbnZlcnQ6TGlzdEpvYlRlbXBsYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRKb2JzUXVlcnlSZXN1bHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRKb2JzUXVlcnlSZXN1bHRzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBvbGljeTogc3RyaW5nW10gPSBbXCJtZWRpYWNvbnZlcnQ6R2V0UG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcmVzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByZXNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJtZWRpYWNvbnZlcnQ6R2V0UHJlc2V0XCIsXG5cdFx0XCJtZWRpYWNvbnZlcnQ6TGlzdFByZXNldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UXVldWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFF1ZXVlOiBzdHJpbmdbXSA9IFtcIm1lZGlhY29udmVydDpHZXRRdWV1ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEpvYlRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JUZW1wbGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibWVkaWFjb252ZXJ0Okxpc3RKb2JUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm9iczogc3RyaW5nW10gPSBbXCJtZWRpYWNvbnZlcnQ6TGlzdEpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcmVzZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByZXNldHM6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0Okxpc3RQcmVzZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UXVldWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFF1ZXVlczogc3RyaW5nW10gPSBbXCJtZWRpYWNvbnZlcnQ6TGlzdFF1ZXVlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwibWVkaWFjb252ZXJ0Okxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcIm1lZGlhY29udmVydDpMaXN0VmVyc2lvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFByb2JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJvYmU6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OlByb2JlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQb2xpY3k6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OlB1dFBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VhcmNoSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaEpvYnM6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OlNlYXJjaEpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Sm9ic1F1ZXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRKb2JzUXVlcnk6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJtZWRpYWNvbnZlcnQ6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSm9iVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVKb2JUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJtZWRpYWNvbnZlcnQ6VXBkYXRlSm9iVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJlc2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJlc2V0OiBzdHJpbmdbXSA9IFtcIm1lZGlhY29udmVydDpVcGRhdGVQcmVzZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVF1ZXVlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUXVldWU6IHN0cmluZ1tdID0gW1wibWVkaWFjb252ZXJ0OlVwZGF0ZVF1ZXVlXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgbWVkaWFjb252ZXJ0LlxuICovXG5leHBvcnQgY2xhc3MgTWVkaWFDb252ZXJ0Q29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJtZWRpYWNvbnZlcnQ6SHR0cElucHV0c0FsbG93ZWRcIixcblx0XHRcIm1lZGlhY29udmVydDpIdHRwc0lucHV0c0FsbG93ZWRcIixcblx0XHRcIm1lZGlhY29udmVydDpTM0lucHV0c0FsbG93ZWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUpvYlRlbXBsYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYlRlbXBsYXRlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcmVzZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVRdWV1ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVRdWV1ZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogbWVkaWFjb252ZXJ0Okh0dHBJbnB1dHNBbGxvd2VkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSFRUUF9JTlBVVFNfQUxMT1dFRCA9IFwibWVkaWFjb252ZXJ0Okh0dHBJbnB1dHNBbGxvd2VkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBtZWRpYWNvbnZlcnQ6SHR0cHNJbnB1dHNBbGxvd2VkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSFRUUFNfSU5QVVRTX0FMTE9XRUQgPSBcIm1lZGlhY29udmVydDpIdHRwc0lucHV0c0FsbG93ZWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IG1lZGlhY29udmVydDpTM0lucHV0c0FsbG93ZWQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBTM19JTlBVVFNfQUxMT1dFRCA9IFwibWVkaWFjb252ZXJ0OlMzSW5wdXRzQWxsb3dlZFwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBtZWRpYWNvbnZlcnQ6SHR0cElucHV0c0FsbG93ZWRgLlxuXHQgKi9cblx0c3RhdGljIGh0dHBJbnB1dHNBbGxvd2VkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJtZWRpYWNvbnZlcnQ6SHR0cElucHV0c0FsbG93ZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYG1lZGlhY29udmVydDpIdHRwc0lucHV0c0FsbG93ZWRgLlxuXHQgKi9cblx0c3RhdGljIGh0dHBzSW5wdXRzQWxsb3dlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwibWVkaWFjb252ZXJ0Okh0dHBzSW5wdXRzQWxsb3dlZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgbWVkaWFjb252ZXJ0OlMzSW5wdXRzQWxsb3dlZGAuXG5cdCAqL1xuXHRzdGF0aWMgczNJbnB1dHNBbGxvd2VkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJtZWRpYWNvbnZlcnQ6UzNJbnB1dHNBbGxvd2VkXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
@@ -16,7 +16,7 @@ class MediaimportActions {
16
16
  }
17
17
  exports.MediaimportActions = MediaimportActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- MediaimportActions[_a] = { fqn: "@cdk_utils/iam.mediaimport.MediaimportActions", version: "1.31.0" };
19
+ MediaimportActions[_a] = { fqn: "@cdk_utils/iam.mediaimport.MediaimportActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  MediaimportActions.SERVICE_PREFIX = "mediaimport";
22
22
  /** [Write] mediaimport:CreateDatabaseBinarySnapshot */
@@ -16,7 +16,7 @@ class MediaLiveActions {
16
16
  }
17
17
  exports.MediaLiveActions = MediaLiveActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- MediaLiveActions[_a] = { fqn: "@cdk_utils/iam.medialive.MediaLiveActions", version: "1.31.0" };
19
+ MediaLiveActions[_a] = { fqn: "@cdk_utils/iam.medialive.MediaLiveActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  MediaLiveActions.SERVICE_PREFIX = "medialive";
22
22
  /** [Write] medialive:AcceptInputDeviceTransfer */
@@ -910,7 +910,7 @@ class MediaLiveResources {
910
910
  }
911
911
  exports.MediaLiveResources = MediaLiveResources;
912
912
  _b = JSII_RTTI_SYMBOL_1;
913
- MediaLiveResources[_b] = { fqn: "@cdk_utils/iam.medialive.MediaLiveResources", version: "1.31.0" };
913
+ MediaLiveResources[_b] = { fqn: "@cdk_utils/iam.medialive.MediaLiveResources", version: "1.32.0" };
914
914
  /**
915
915
  * API operation to required IAM actions mapping for medialive.
916
916
  */
@@ -918,7 +918,7 @@ class MediaLiveOperations {
918
918
  }
919
919
  exports.MediaLiveOperations = MediaLiveOperations;
920
920
  _c = JSII_RTTI_SYMBOL_1;
921
- MediaLiveOperations[_c] = { fqn: "@cdk_utils/iam.medialive.MediaLiveOperations", version: "1.31.0" };
921
+ MediaLiveOperations[_c] = { fqn: "@cdk_utils/iam.medialive.MediaLiveOperations", version: "1.32.0" };
922
922
  /** IAM actions required for the AcceptInputDeviceTransfer API call. */
923
923
  MediaLiveOperations.AcceptInputDeviceTransfer = [
924
924
  "medialive:AcceptInputDeviceTransfer",
@@ -1352,7 +1352,7 @@ class MediaLiveConditions {
1352
1352
  }
1353
1353
  exports.MediaLiveConditions = MediaLiveConditions;
1354
1354
  _d = JSII_RTTI_SYMBOL_1;
1355
- MediaLiveConditions[_d] = { fqn: "@cdk_utils/iam.medialive.MediaLiveConditions", version: "1.31.0" };
1355
+ MediaLiveConditions[_d] = { fqn: "@cdk_utils/iam.medialive.MediaLiveConditions", version: "1.32.0" };
1356
1356
  /** Condition keys applicable to the CreateChannel action. */
1357
1357
  MediaLiveConditions.CreateChannelConditionKeys = [
1358
1358
  "aws:RequestTag/${TagKey}",