@cdk_utils/iam 1.20.0 → 1.22.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 (466) hide show
  1. package/.jsii +5367 -4297
  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.d.ts +32 -0
  15. package/lib/generated/services/aidevops.js +71 -5
  16. package/lib/generated/services/aiops.js +4 -4
  17. package/lib/generated/services/airflow-serverless.js +4 -4
  18. package/lib/generated/services/airflow.js +4 -4
  19. package/lib/generated/services/amplify.js +4 -4
  20. package/lib/generated/services/amplifybackend.js +3 -3
  21. package/lib/generated/services/amplifyuibuilder.js +4 -4
  22. package/lib/generated/services/aoss.js +4 -4
  23. package/lib/generated/services/apigateway.js +4 -4
  24. package/lib/generated/services/app-integrations.js +4 -4
  25. package/lib/generated/services/appconfig.js +4 -4
  26. package/lib/generated/services/appfabric.js +4 -4
  27. package/lib/generated/services/appflow.js +4 -4
  28. package/lib/generated/services/application-autoscaling.js +4 -4
  29. package/lib/generated/services/application-signals-mcp.js +3 -3
  30. package/lib/generated/services/application-signals.js +4 -4
  31. package/lib/generated/services/application-transformation.js +1 -1
  32. package/lib/generated/services/applicationinsights.js +3 -3
  33. package/lib/generated/services/appmesh-preview.js +2 -2
  34. package/lib/generated/services/appmesh.js +4 -4
  35. package/lib/generated/services/apprunner.js +4 -4
  36. package/lib/generated/services/appstream.js +4 -4
  37. package/lib/generated/services/appstudio.js +2 -2
  38. package/lib/generated/services/appsync.js +4 -4
  39. package/lib/generated/services/apptest.js +3 -3
  40. package/lib/generated/services/aps.js +4 -4
  41. package/lib/generated/services/arc-region-switch.js +4 -4
  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 +5 -6
  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.d.ts +6 -0
  60. package/lib/generated/services/batch.js +14 -5
  61. package/lib/generated/services/bcm-dashboards.js +4 -4
  62. package/lib/generated/services/bcm-data-exports.js +4 -4
  63. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  64. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  65. package/lib/generated/services/bedrock-agentcore.d.ts +51 -0
  66. package/lib/generated/services/bedrock-agentcore.js +67 -9
  67. package/lib/generated/services/bedrock-mantle.js +3 -3
  68. package/lib/generated/services/bedrock-websearch.js +2 -2
  69. package/lib/generated/services/bedrock.js +4 -4
  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 +25 -15
  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 +4 -4
  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.d.ts +6 -0
  118. package/lib/generated/services/connect.js +20 -6
  119. package/lib/generated/services/consoleapp.js +2 -2
  120. package/lib/generated/services/consolidatedbilling.js +1 -1
  121. package/lib/generated/services/controlcatalog.js +3 -3
  122. package/lib/generated/services/controltower.js +4 -4
  123. package/lib/generated/services/cost-optimization-hub.js +2 -2
  124. package/lib/generated/services/cur.js +4 -4
  125. package/lib/generated/services/customer-verification.js +1 -1
  126. package/lib/generated/services/databrew.js +4 -4
  127. package/lib/generated/services/dataexchange.js +4 -4
  128. package/lib/generated/services/datapipeline.js +4 -4
  129. package/lib/generated/services/datasync.js +4 -4
  130. package/lib/generated/services/datazone.js +4 -4
  131. package/lib/generated/services/dax.js +4 -4
  132. package/lib/generated/services/dbqms.js +1 -1
  133. package/lib/generated/services/deadline.js +4 -4
  134. package/lib/generated/services/detective.js +4 -4
  135. package/lib/generated/services/devicefarm.js +4 -4
  136. package/lib/generated/services/devops-guru.js +4 -4
  137. package/lib/generated/services/directconnect.js +4 -4
  138. package/lib/generated/services/discovery.js +3 -3
  139. package/lib/generated/services/dlm.js +4 -4
  140. package/lib/generated/services/dms.js +4 -4
  141. package/lib/generated/services/docdb-elastic.js +4 -4
  142. package/lib/generated/services/drs.js +4 -4
  143. package/lib/generated/services/ds-data.js +4 -4
  144. package/lib/generated/services/ds.js +4 -4
  145. package/lib/generated/services/dsql.js +4 -4
  146. package/lib/generated/services/dynamodb.js +4 -4
  147. package/lib/generated/services/ebs.js +4 -4
  148. package/lib/generated/services/ec2-instance-connect.js +4 -4
  149. package/lib/generated/services/ec2.js +4 -4
  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 +7 -5
  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.d.ts +6 -0
  167. package/lib/generated/services/elemental-inference.js +11 -5
  168. package/lib/generated/services/elemental-support-cases.js +3 -3
  169. package/lib/generated/services/elemental-support-content.js +1 -1
  170. package/lib/generated/services/emr-containers.js +4 -4
  171. package/lib/generated/services/emr-serverless.js +4 -4
  172. package/lib/generated/services/entityresolution.js +4 -4
  173. package/lib/generated/services/es.js +4 -4
  174. package/lib/generated/services/events.js +4 -4
  175. package/lib/generated/services/eventsbilltoaws.js +3 -3
  176. package/lib/generated/services/evidently.js +3 -3
  177. package/lib/generated/services/evs.js +4 -4
  178. package/lib/generated/services/execute-api.js +4 -4
  179. package/lib/generated/services/finops-agent.js +1 -1
  180. package/lib/generated/services/finspace-api.js +3 -3
  181. package/lib/generated/services/finspace.js +4 -4
  182. package/lib/generated/services/firehose.js +4 -4
  183. package/lib/generated/services/fis.js +4 -4
  184. package/lib/generated/services/fms.js +4 -4
  185. package/lib/generated/services/forecast.js +4 -4
  186. package/lib/generated/services/frauddetector.js +4 -4
  187. package/lib/generated/services/freertos.js +3 -3
  188. package/lib/generated/services/freetier.js +2 -2
  189. package/lib/generated/services/fsx.js +4 -4
  190. package/lib/generated/services/gamelift.js +4 -4
  191. package/lib/generated/services/gameliftstreams.js +4 -4
  192. package/lib/generated/services/geo-maps.js +3 -3
  193. package/lib/generated/services/geo-places.js +3 -3
  194. package/lib/generated/services/geo-routes.js +3 -3
  195. package/lib/generated/services/geo.js +4 -4
  196. package/lib/generated/services/glacier.js +4 -4
  197. package/lib/generated/services/globalaccelerator.js +4 -4
  198. package/lib/generated/services/glue.js +4 -4
  199. package/lib/generated/services/grafana.js +4 -4
  200. package/lib/generated/services/greengrass.js +4 -4
  201. package/lib/generated/services/groundstation.js +4 -4
  202. package/lib/generated/services/groundtruthlabeling.js +1 -1
  203. package/lib/generated/services/guardduty.js +4 -4
  204. package/lib/generated/services/health-agent.js +4 -4
  205. package/lib/generated/services/health.js +4 -4
  206. package/lib/generated/services/healthlake.js +4 -4
  207. package/lib/generated/services/honeycode.js +2 -2
  208. package/lib/generated/services/iam.js +4 -4
  209. package/lib/generated/services/identity-sync.js +2 -2
  210. package/lib/generated/services/identitystore-auth.js +1 -1
  211. package/lib/generated/services/identitystore.js +4 -4
  212. package/lib/generated/services/imagebuilder.js +4 -4
  213. package/lib/generated/services/importexport.js +2 -2
  214. package/lib/generated/services/inspector-scan.js +2 -2
  215. package/lib/generated/services/inspector.js +2 -2
  216. package/lib/generated/services/inspector2-telemetry.js +1 -1
  217. package/lib/generated/services/inspector2.js +4 -4
  218. package/lib/generated/services/interconnect.js +4 -4
  219. package/lib/generated/services/internetmonitor.js +4 -4
  220. package/lib/generated/services/invoicing.d.ts +4 -0
  221. package/lib/generated/services/invoicing.js +13 -5
  222. package/lib/generated/services/iot-device-tester.js +1 -1
  223. package/lib/generated/services/iot.js +4 -4
  224. package/lib/generated/services/iotanalytics.js +3 -3
  225. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  226. package/lib/generated/services/iotevents.js +3 -3
  227. package/lib/generated/services/iotfleethub.js +3 -3
  228. package/lib/generated/services/iotfleetwise.js +4 -4
  229. package/lib/generated/services/iotjobsdata.js +4 -4
  230. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  231. package/lib/generated/services/iotsitewise.js +4 -4
  232. package/lib/generated/services/iottwinmaker.js +4 -4
  233. package/lib/generated/services/iotwireless.js +4 -4
  234. package/lib/generated/services/iq-permission.js +2 -2
  235. package/lib/generated/services/iq.js +2 -2
  236. package/lib/generated/services/ivs.js +4 -4
  237. package/lib/generated/services/ivschat.js +4 -4
  238. package/lib/generated/services/kafka-cluster.js +3 -3
  239. package/lib/generated/services/kafka.js +4 -4
  240. package/lib/generated/services/kafkaconnect.js +4 -4
  241. package/lib/generated/services/kendra-ranking.js +4 -4
  242. package/lib/generated/services/kendra.js +4 -4
  243. package/lib/generated/services/kinesis.js +4 -4
  244. package/lib/generated/services/kinesisanalytics.js +4 -4
  245. package/lib/generated/services/kinesisvideo.js +4 -4
  246. package/lib/generated/services/kms.js +4 -4
  247. package/lib/generated/services/lakeformation.js +3 -3
  248. package/lib/generated/services/lambda.js +4 -4
  249. package/lib/generated/services/launchwizard.js +4 -4
  250. package/lib/generated/services/lex.js +4 -4
  251. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  252. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  253. package/lib/generated/services/license-manager.js +4 -4
  254. package/lib/generated/services/lightsail.js +4 -4
  255. package/lib/generated/services/logs.js +4 -4
  256. package/lib/generated/services/lookoutequipment.js +4 -4
  257. package/lib/generated/services/lookoutmetrics.js +3 -3
  258. package/lib/generated/services/lookoutvision.js +3 -3
  259. package/lib/generated/services/m2.js +4 -4
  260. package/lib/generated/services/machinelearning.js +3 -3
  261. package/lib/generated/services/macie2.js +4 -4
  262. package/lib/generated/services/managedblockchain-query.js +2 -2
  263. package/lib/generated/services/managedblockchain.js +4 -4
  264. package/lib/generated/services/mapcredits.js +2 -2
  265. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  266. package/lib/generated/services/mechanicalturk.js +2 -2
  267. package/lib/generated/services/mediaconnect.js +4 -4
  268. package/lib/generated/services/mediaconvert.js +4 -4
  269. package/lib/generated/services/mediaimport.js +1 -1
  270. package/lib/generated/services/medialive.js +4 -4
  271. package/lib/generated/services/mediapackage-vod.js +4 -4
  272. package/lib/generated/services/mediapackage.js +4 -4
  273. package/lib/generated/services/mediapackagev2.js +4 -4
  274. package/lib/generated/services/mediastore.js +4 -4
  275. package/lib/generated/services/mediatailor.js +4 -4
  276. package/lib/generated/services/medical-imaging.js +4 -4
  277. package/lib/generated/services/memorydb.js +4 -4
  278. package/lib/generated/services/mgh.js +4 -4
  279. package/lib/generated/services/mgn.js +4 -4
  280. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  281. package/lib/generated/services/migrationhub-strategy.js +2 -2
  282. package/lib/generated/services/mobileanalytics.js +1 -1
  283. package/lib/generated/services/mobiletargeting.js +4 -4
  284. package/lib/generated/services/monitron.js +3 -3
  285. package/lib/generated/services/mpa.js +4 -4
  286. package/lib/generated/services/mq.js +4 -4
  287. package/lib/generated/services/neptune-db.js +4 -4
  288. package/lib/generated/services/neptune-graph.js +4 -4
  289. package/lib/generated/services/network-firewall.js +4 -4
  290. package/lib/generated/services/network-security-director.js +1 -1
  291. package/lib/generated/services/networkflowmonitor.js +4 -4
  292. package/lib/generated/services/networkmanager-chat.js +1 -1
  293. package/lib/generated/services/networkmanager.js +4 -4
  294. package/lib/generated/services/networkmonitor.js +4 -4
  295. package/lib/generated/services/nimble.js +3 -3
  296. package/lib/generated/services/notifications-contacts.js +4 -4
  297. package/lib/generated/services/notifications.js +4 -4
  298. package/lib/generated/services/nova-act.js +3 -3
  299. package/lib/generated/services/oam.js +4 -4
  300. package/lib/generated/services/observabilityadmin.js +4 -4
  301. package/lib/generated/services/odb.js +10 -6
  302. package/lib/generated/services/omics.js +4 -4
  303. package/lib/generated/services/one.js +3 -3
  304. package/lib/generated/services/opensearch.js +3 -3
  305. package/lib/generated/services/opsworks-cm.js +2 -2
  306. package/lib/generated/services/opsworks.js +2 -2
  307. package/lib/generated/services/organizations.js +4 -4
  308. package/lib/generated/services/osis.js +4 -4
  309. package/lib/generated/services/outposts.js +4 -4
  310. package/lib/generated/services/panorama.js +3 -3
  311. package/lib/generated/services/partnercentral-account-management.js +2 -2
  312. package/lib/generated/services/partnercentral.js +4 -4
  313. package/lib/generated/services/payment-cryptography.js +4 -4
  314. package/lib/generated/services/payments.js +3 -3
  315. package/lib/generated/services/pca-connector-ad.js +4 -4
  316. package/lib/generated/services/pca-connector-scep.js +4 -4
  317. package/lib/generated/services/pcs.js +4 -4
  318. package/lib/generated/services/personalize.js +4 -4
  319. package/lib/generated/services/pi.js +4 -4
  320. package/lib/generated/services/pipes.js +4 -4
  321. package/lib/generated/services/polly.js +3 -3
  322. package/lib/generated/services/pricing.js +2 -2
  323. package/lib/generated/services/pricingplanmanager.js +3 -3
  324. package/lib/generated/services/private-networks.js +3 -3
  325. package/lib/generated/services/profile.js +4 -4
  326. package/lib/generated/services/proton.js +4 -4
  327. package/lib/generated/services/purchase-orders.js +3 -3
  328. package/lib/generated/services/q.js +3 -3
  329. package/lib/generated/services/qapps.js +4 -4
  330. package/lib/generated/services/qbusiness.js +4 -4
  331. package/lib/generated/services/qdeveloper.js +3 -3
  332. package/lib/generated/services/qldb.js +3 -3
  333. package/lib/generated/services/quicksight.js +4 -4
  334. package/lib/generated/services/ram.js +4 -4
  335. package/lib/generated/services/rbin.js +4 -4
  336. package/lib/generated/services/rds-data.js +4 -4
  337. package/lib/generated/services/rds-db.js +2 -2
  338. package/lib/generated/services/rds.js +4 -4
  339. package/lib/generated/services/redshift-data.js +4 -4
  340. package/lib/generated/services/redshift-serverless.js +4 -4
  341. package/lib/generated/services/redshift.js +4 -4
  342. package/lib/generated/services/refactor-spaces.js +4 -4
  343. package/lib/generated/services/rekognition.js +4 -4
  344. package/lib/generated/services/repostspace.js +4 -4
  345. package/lib/generated/services/researchstudio.js +1 -1
  346. package/lib/generated/services/resiliencehub.d.ts +8 -0
  347. package/lib/generated/services/resiliencehub.js +19 -5
  348. package/lib/generated/services/resource-explorer-2.js +4 -4
  349. package/lib/generated/services/resource-explorer.js +1 -1
  350. package/lib/generated/services/resource-groups.js +4 -4
  351. package/lib/generated/services/rhelkb.js +1 -1
  352. package/lib/generated/services/robomaker.js +3 -3
  353. package/lib/generated/services/rolesanywhere.js +4 -4
  354. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  355. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  356. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  357. package/lib/generated/services/route53.js +4 -4
  358. package/lib/generated/services/route53domains.js +2 -2
  359. package/lib/generated/services/route53globalresolver.js +4 -4
  360. package/lib/generated/services/route53profiles.js +4 -4
  361. package/lib/generated/services/route53resolver.js +4 -4
  362. package/lib/generated/services/rtbfabric.js +4 -4
  363. package/lib/generated/services/rum.js +4 -4
  364. package/lib/generated/services/s3-object-lambda.js +3 -3
  365. package/lib/generated/services/s3-outposts.js +4 -4
  366. package/lib/generated/services/s3.js +4 -4
  367. package/lib/generated/services/s3express.js +3 -3
  368. package/lib/generated/services/s3files.js +4 -4
  369. package/lib/generated/services/s3tables.js +4 -4
  370. package/lib/generated/services/s3vectors.js +4 -4
  371. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  372. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  373. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  374. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  375. package/lib/generated/services/sagemaker.d.ts +2 -0
  376. package/lib/generated/services/sagemaker.js +7 -6
  377. package/lib/generated/services/savingsplans.js +4 -4
  378. package/lib/generated/services/scheduler.js +4 -4
  379. package/lib/generated/services/schemas.js +4 -4
  380. package/lib/generated/services/scn.js +4 -4
  381. package/lib/generated/services/sdb.js +3 -3
  382. package/lib/generated/services/secretsmanager.js +4 -4
  383. package/lib/generated/services/security-ir.js +4 -4
  384. package/lib/generated/services/securityagent.js +4 -4
  385. package/lib/generated/services/securityhub.js +4 -4
  386. package/lib/generated/services/securitylake.js +4 -4
  387. package/lib/generated/services/serverlessrepo.js +4 -4
  388. package/lib/generated/services/servicecatalog.js +4 -4
  389. package/lib/generated/services/servicediscovery.js +4 -4
  390. package/lib/generated/services/serviceextract.js +1 -1
  391. package/lib/generated/services/servicequotas.js +4 -4
  392. package/lib/generated/services/ses.js +4 -4
  393. package/lib/generated/services/shield.js +4 -4
  394. package/lib/generated/services/signer.js +4 -4
  395. package/lib/generated/services/signin.js +4 -4
  396. package/lib/generated/services/simspaceweaver.js +3 -3
  397. package/lib/generated/services/sms-voice.js +4 -4
  398. package/lib/generated/services/sms.js +1 -1
  399. package/lib/generated/services/snow-device-management.js +4 -4
  400. package/lib/generated/services/snowball.js +2 -2
  401. package/lib/generated/services/sns.js +4 -4
  402. package/lib/generated/services/social-messaging.js +4 -4
  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.d.ts +6 -0
  448. package/lib/generated/services/vpc-lattice-svcs.js +12 -4
  449. package/lib/generated/services/vpc-lattice.js +4 -4
  450. package/lib/generated/services/vpce.js +2 -2
  451. package/lib/generated/services/waf-regional.js +4 -4
  452. package/lib/generated/services/waf.js +4 -4
  453. package/lib/generated/services/wafv2.js +4 -4
  454. package/lib/generated/services/wam.js +1 -1
  455. package/lib/generated/services/wellarchitected.js +4 -4
  456. package/lib/generated/services/wickr.js +4 -4
  457. package/lib/generated/services/wisdom.js +4 -4
  458. package/lib/generated/services/workdocs.js +3 -3
  459. package/lib/generated/services/worklink.js +3 -3
  460. package/lib/generated/services/workmail.js +4 -4
  461. package/lib/generated/services/workmailmessageflow.js +3 -3
  462. package/lib/generated/services/workspaces-instances.js +4 -4
  463. package/lib/generated/services/workspaces-web.js +4 -4
  464. package/lib/generated/services/workspaces.js +4 -4
  465. package/lib/generated/services/xray.js +4 -4
  466. package/package.json +6 -6
@@ -16,7 +16,7 @@ class AidevopsActions {
16
16
  }
17
17
  exports.AidevopsActions = AidevopsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- AidevopsActions[_a] = { fqn: "@cdk_utils/iam.aidevops.AidevopsActions", version: "1.20.0" };
19
+ AidevopsActions[_a] = { fqn: "@cdk_utils/iam.aidevops.AidevopsActions", version: "1.22.0" };
20
20
  /** The IAM service prefix. */
21
21
  AidevopsActions.SERVICE_PREFIX = "aidevops";
22
22
  /** [PermissionManagement] aidevops:AllowVendedLogDeliveryForResource */
@@ -464,7 +464,7 @@ class AidevopsResources {
464
464
  }
465
465
  exports.AidevopsResources = AidevopsResources;
466
466
  _b = JSII_RTTI_SYMBOL_1;
467
- AidevopsResources[_b] = { fqn: "@cdk_utils/iam.aidevops.AidevopsResources", version: "1.20.0" };
467
+ AidevopsResources[_b] = { fqn: "@cdk_utils/iam.aidevops.AidevopsResources", version: "1.22.0" };
468
468
  /**
469
469
  * API operation to required IAM actions mapping for aidevops.
470
470
  */
@@ -472,7 +472,7 @@ class AidevopsOperations {
472
472
  }
473
473
  exports.AidevopsOperations = AidevopsOperations;
474
474
  _c = JSII_RTTI_SYMBOL_1;
475
- AidevopsOperations[_c] = { fqn: "@cdk_utils/iam.aidevops.AidevopsOperations", version: "1.20.0" };
475
+ AidevopsOperations[_c] = { fqn: "@cdk_utils/iam.aidevops.AidevopsOperations", version: "1.22.0" };
476
476
  /** IAM actions required for the AssociateService API call. */
477
477
  AidevopsOperations.AssociateService = [
478
478
  "aidevops:AssociateService",
@@ -640,6 +640,18 @@ AidevopsOperations.ValidateAwsAssociations = [
640
640
  * Condition key constants and builders for aidevops.
641
641
  */
642
642
  class AidevopsConditions {
643
+ /**
644
+ * Generates a condition block for `aidevops:SourceAgentSpaceArn`.
645
+ */
646
+ static sourceAgentSpaceARN(value) {
647
+ return { StringEquals: { "aidevops:SourceAgentSpaceArn": value } };
648
+ }
649
+ /**
650
+ * Generates a condition block for `aidevops:TargetAgentSpaceArn`.
651
+ */
652
+ static targetAgentSpaceARN(value) {
653
+ return { StringEquals: { "aidevops:TargetAgentSpaceArn": value } };
654
+ }
643
655
  /**
644
656
  * Generates a condition block for `aws:RequestTag/${TagKey}`.
645
657
  */
@@ -661,13 +673,18 @@ class AidevopsConditions {
661
673
  }
662
674
  exports.AidevopsConditions = AidevopsConditions;
663
675
  _d = JSII_RTTI_SYMBOL_1;
664
- AidevopsConditions[_d] = { fqn: "@cdk_utils/iam.aidevops.AidevopsConditions", version: "1.20.0" };
676
+ AidevopsConditions[_d] = { fqn: "@cdk_utils/iam.aidevops.AidevopsConditions", version: "1.22.0" };
665
677
  /** Condition keys applicable to the CreateAgentSpace action. */
666
678
  AidevopsConditions.CreateAgentSpaceConditionKeys = [
667
679
  "aws:RequestTag/${TagKey}",
668
680
  "aws:ResourceTag/${TagKey}",
669
681
  "aws:TagKeys",
670
682
  ];
683
+ /** Condition keys applicable to the CreateBacklogTask action. */
684
+ AidevopsConditions.CreateBacklogTaskConditionKeys = [
685
+ "aidevops:SourceAgentSpaceArn",
686
+ "aidevops:TargetAgentSpaceArn",
687
+ ];
671
688
  /** Condition keys applicable to the CreatePrivateConnection action. */
672
689
  AidevopsConditions.CreatePrivateConnectionConditionKeys = [
673
690
  "aws:RequestTag/${TagKey}",
@@ -694,10 +711,55 @@ AidevopsConditions.DescribePrivateConnectionConditionKeys = [
694
711
  AidevopsConditions.actionGetAgentSpaceConditionKeys = [
695
712
  "aws:ResourceTag/${TagKey}",
696
713
  ];
714
+ /** Condition keys applicable to the GetAsset action. */
715
+ AidevopsConditions.actionGetAssetConditionKeys = [
716
+ "aidevops:SourceAgentSpaceArn",
717
+ "aidevops:TargetAgentSpaceArn",
718
+ ];
719
+ /** Condition keys applicable to the GetAssetContent action. */
720
+ AidevopsConditions.actionGetAssetContentConditionKeys = [
721
+ "aidevops:SourceAgentSpaceArn",
722
+ "aidevops:TargetAgentSpaceArn",
723
+ ];
724
+ /** Condition keys applicable to the GetAssetFile action. */
725
+ AidevopsConditions.actionGetAssetFileConditionKeys = [
726
+ "aidevops:SourceAgentSpaceArn",
727
+ "aidevops:TargetAgentSpaceArn",
728
+ ];
729
+ /** Condition keys applicable to the GetBacklogTask action. */
730
+ AidevopsConditions.actionGetBacklogTaskConditionKeys = [
731
+ "aidevops:SourceAgentSpaceArn",
732
+ "aidevops:TargetAgentSpaceArn",
733
+ ];
697
734
  /** Condition keys applicable to the GetService action. */
698
735
  AidevopsConditions.actionGetServiceConditionKeys = [
699
736
  "aws:ResourceTag/${TagKey}",
700
737
  ];
738
+ /** Condition keys applicable to the ListAssetFiles action. */
739
+ AidevopsConditions.ListAssetFilesConditionKeys = [
740
+ "aidevops:SourceAgentSpaceArn",
741
+ "aidevops:TargetAgentSpaceArn",
742
+ ];
743
+ /** Condition keys applicable to the ListAssets action. */
744
+ AidevopsConditions.ListAssetsConditionKeys = [
745
+ "aidevops:SourceAgentSpaceArn",
746
+ "aidevops:TargetAgentSpaceArn",
747
+ ];
748
+ /** Condition keys applicable to the ListBacklogTasks action. */
749
+ AidevopsConditions.ListBacklogTasksConditionKeys = [
750
+ "aidevops:SourceAgentSpaceArn",
751
+ "aidevops:TargetAgentSpaceArn",
752
+ ];
753
+ /** Condition keys applicable to the ListExecutions action. */
754
+ AidevopsConditions.ListExecutionsConditionKeys = [
755
+ "aidevops:SourceAgentSpaceArn",
756
+ "aidevops:TargetAgentSpaceArn",
757
+ ];
758
+ /** Condition keys applicable to the ListJournalRecords action. */
759
+ AidevopsConditions.ListJournalRecordsConditionKeys = [
760
+ "aidevops:SourceAgentSpaceArn",
761
+ "aidevops:TargetAgentSpaceArn",
762
+ ];
701
763
  /** Condition keys applicable to the ListTagsForResource action. */
702
764
  AidevopsConditions.ListTagsForResourceConditionKeys = [
703
765
  "aws:ResourceTag/${TagKey}",
@@ -727,10 +789,14 @@ AidevopsConditions.UpdateAgentSpaceConditionKeys = [
727
789
  AidevopsConditions.UpdatePrivateConnectionCertificateConditionKeys = [
728
790
  "aws:ResourceTag/${TagKey}",
729
791
  ];
792
+ /** Condition key: aidevops:SourceAgentSpaceArn (String) */
793
+ AidevopsConditions.SOURCE_AGENT_SPACE_ARN = "aidevops:SourceAgentSpaceArn";
794
+ /** Condition key: aidevops:TargetAgentSpaceArn (String) */
795
+ AidevopsConditions.TARGET_AGENT_SPACE_ARN = "aidevops:TargetAgentSpaceArn";
730
796
  /** Condition key: aws:RequestTag/${TagKey} (String) */
731
797
  AidevopsConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
732
798
  /** Condition key: aws:ResourceTag/${TagKey} (String) */
733
799
  AidevopsConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
734
800
  /** Condition key: aws:TagKeys (ArrayOfString) */
735
801
  AidevopsConditions.AWS_TAG_KEYS = "aws:TagKeys";
736
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWlkZXZvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2FpZGV2b3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsK0NBQStDO0FBQy9DLG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLGVBQWU7O0FBQTVCLDBDQWlSQzs7O0FBaFJBLDhCQUE4QjtBQUNkLDhCQUFjLEdBQUcsVUFBVSxDQUFDO0FBRTVDLHdFQUF3RTtBQUN4RCxpREFBaUMsR0FDaEQsNENBQTRDLENBQUM7QUFDOUMsd0NBQXdDO0FBQ3hCLGdDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELHlDQUF5QztBQUN6QixpQ0FBaUIsR0FBRyw0QkFBNEIsQ0FBQztBQUNqRSx3Q0FBd0M7QUFDeEIsZ0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsbUNBQW1DO0FBQ25CLDJCQUFXLEdBQUcsc0JBQXNCLENBQUM7QUFDckQsdUNBQXVDO0FBQ3ZCLCtCQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0QseUNBQXlDO0FBQ3pCLGlDQUFpQixHQUFHLDRCQUE0QixDQUFDO0FBQ2pFLGtDQUFrQztBQUNsQiwwQkFBVSxHQUFHLHFCQUFxQixDQUFDO0FBQ25ELDJDQUEyQztBQUMzQixtQ0FBbUIsR0FBRyw4QkFBOEIsQ0FBQztBQUNyRSxpREFBaUQ7QUFDakMseUNBQXlCLEdBQ3hDLG9DQUFvQyxDQUFDO0FBQ3RDLCtDQUErQztBQUMvQix1Q0FBdUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUM3RSxxQ0FBcUM7QUFDckIsNkJBQWEsR0FBRyx3QkFBd0IsQ0FBQztBQUN6RCx3Q0FBd0M7QUFDeEIsZ0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsbUNBQW1DO0FBQ25CLDJCQUFXLEdBQUcsc0JBQXNCLENBQUM7QUFDckQs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QUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsMkNBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyw2Q0FBMEIsR0FBYTtJQUN0RCwyQkFBMkI7SUFDM0IsYUFBYTtDQUNiLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsZ0RBQTZCLEdBQWE7SUFDekQsMkJBQTJCO0NBQzNCLENBQUM7QUFDRixrRkFBa0Y7QUFDbEUsa0VBQStDLEdBQWE7SUFDM0UsMkJBQTJCO0NBQzNCLENBQUM7QUFFRix1REFBdUQ7QUFDdkMsa0NBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsbUNBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLCtCQUFZLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvYWlkZXZvcHMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGFpZGV2b3BzIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBBaWRldm9wc0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJhaWRldm9wc1wiO1xuXG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIGFpZGV2b3BzOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlID1cblx0XHRcImFpZGV2b3BzOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpBc3NvY2lhdGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVTZXJ2aWNlID0gXCJhaWRldm9wczpBc3NvY2lhdGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZUFjY2Vzc1Rva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY2Nlc3NUb2tlbiA9IFwiYWlkZXZvcHM6Q3JlYXRlQWNjZXNzVG9rZW5cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlQWdlbnRTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRTcGFjZSA9IFwiYWlkZXZvcHM6Q3JlYXRlQWdlbnRTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpDcmVhdGVBc3NldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzZXQgPSBcImFpZGV2b3BzOkNyZWF0ZUFzc2V0XCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZUFzc2V0RmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzZXRGaWxlID0gXCJhaWRldm9wczpDcmVhdGVBc3NldEZpbGVcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlQmFja2xvZ1Rhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJhY2tsb2dUYXNrID0gXCJhaWRldm9wczpDcmVhdGVCYWNrbG9nVGFza1wiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpDcmVhdGVDaGF0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDaGF0ID0gXCJhaWRldm9wczpDcmVhdGVDaGF0XCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZUtub3dsZWRnZUl0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUtub3dsZWRnZUl0ZW0gPSBcImFpZGV2b3BzOkNyZWF0ZUtub3dsZWRnZUl0ZW1cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvbiA9XG5cdFx0XCJhaWRldm9wczpDcmVhdGVPbmVUaW1lTG9naW5TZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbiA9IFwiYWlkZXZvcHM6Q3JlYXRlUHJpdmF0ZUNvbm5lY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlVHJpZ2dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpZ2dlciA9IFwiYWlkZXZvcHM6Q3JlYXRlVHJpZ2dlclwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZWxldGVBZ2VudFNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFNwYWNlID0gXCJhaWRldm9wczpEZWxldGVBZ2VudFNwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkRlbGV0ZUFzc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NldCA9IFwiYWlkZXZvcHM6RGVsZXRlQXNzZXRcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGVsZXRlQXNzZXRGaWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NldEZpbGUgPSBcImFpZGV2b3BzOkRlbGV0ZUFzc2V0RmlsZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZWxldGVLbm93bGVkZ2VJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLbm93bGVkZ2VJdGVtID0gXCJhaWRldm9wczpEZWxldGVLbm93bGVkZ2VJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkRlbGV0ZVByaXZhdGVDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbiA9IFwiYWlkZXZvcHM6RGVsZXRlUHJpdmF0ZUNvbm5lY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGVsZXRlVHJpZ2dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpZ2dlciA9IFwiYWlkZXZvcHM6RGVsZXRlVHJpZ2dlclwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZXJlZ2lzdGVyU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclNlcnZpY2UgPSBcImFpZGV2b3BzOkRlcmVnaXN0ZXJTZXJ2aWNlXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6RGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbiA9XG5cdFx0XCJhaWRldm9wczpEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6RGVzY3JpYmVTZXJ2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlcyA9IFwiYWlkZXZvcHM6RGVzY3JpYmVTZXJ2aWNlc1wiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZXNjcmliZVN1cHBvcnRMZXZlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdXBwb3J0TGV2ZWwgPSBcImFpZGV2b3BzOkRlc2NyaWJlU3VwcG9ydExldmVsXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkRpc2FibGVPcGVyYXRvckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZU9wZXJhdG9yQXBwID0gXCJhaWRldm9wczpEaXNhYmxlT3BlcmF0b3JBcHBcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGlzYXNzb2NpYXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlU2VydmljZSA9IFwiYWlkZXZvcHM6RGlzYXNzb2NpYXRlU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEaXNjb3ZlclRvcG9sb2d5ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb3ZlclRvcG9sb2d5ID0gXCJhaWRldm9wczpEaXNjb3ZlclRvcG9sb2d5XCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkVuYWJsZU9wZXJhdG9yQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVPcGVyYXRvckFwcCA9IFwiYWlkZXZvcHM6RW5hYmxlT3BlcmF0b3JBcHBcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RW5kQ2hhdEZvckNhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuZENoYXRGb3JDYXNlID0gXCJhaWRldm9wczpFbmRDaGF0Rm9yQ2FzZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldEFjY2Vzc1Rva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBY2Nlc3NUb2tlbiA9IFwiYWlkZXZvcHM6R2V0QWNjZXNzVG9rZW5cIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRBY2NvdW50VXNhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFjY291bnRVc2FnZSA9IFwiYWlkZXZvcHM6R2V0QWNjb3VudFVzYWdlXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0QWdlbnRTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRTcGFjZSA9IFwiYWlkZXZvcHM6R2V0QWdlbnRTcGFjZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldEFzc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3NldCA9IFwiYWlkZXZvcHM6R2V0QXNzZXRcIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRBc3NldENvbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFzc2V0Q29udGVudCA9IFwiYWlkZXZvcHM6R2V0QXNzZXRDb250ZW50XCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0QXNzZXRGaWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3NldEZpbGUgPSBcImFpZGV2b3BzOkdldEFzc2V0RmlsZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3NvY2lhdGlvbiA9IFwiYWlkZXZvcHM6R2V0QXNzb2NpYXRpb25cIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRCYWNrbG9nVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmFja2xvZ1Rhc2sgPSBcImFpZGV2b3BzOkdldEJhY2tsb2dUYXNrXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0S25vd2xlZGdlSXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0S25vd2xlZGdlSXRlbSA9IFwiYWlkZXZvcHM6R2V0S25vd2xlZGdlSXRlbVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldE9wZXJhdG9yQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPcGVyYXRvckFwcCA9IFwiYWlkZXZvcHM6R2V0T3BlcmF0b3JBcHBcIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb21tZW5kYXRpb24gPSBcImFpZGV2b3BzOkdldFJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0U2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZSA9IFwiYWlkZXZvcHM6R2V0U2VydmljZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldFRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRyaWdnZXIgPSBcImFpZGV2b3BzOkdldFRyaWdnZXJcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6SW5pdGlhdGVDaGF0Rm9yQ2FzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5pdGlhdGVDaGF0Rm9yQ2FzZSA9IFwiYWlkZXZvcHM6SW5pdGlhdGVDaGF0Rm9yQ2FzZVwiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RBY2Nlc3NUb2tlbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBY2Nlc3NUb2tlbnMgPSBcImFpZGV2b3BzOkxpc3RBY2Nlc3NUb2tlbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0QWdlbnRTcGFjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFNwYWNlcyA9IFwiYWlkZXZvcHM6TGlzdEFnZW50U3BhY2VzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEFzc2V0RmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldEZpbGVzID0gXCJhaWRldm9wczpMaXN0QXNzZXRGaWxlc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RBc3NldFR5cGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzZXRUeXBlcyA9IFwiYWlkZXZvcHM6TGlzdEFzc2V0VHlwZXNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0QXNzZXRWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2V0VmVyc2lvbnMgPSBcImFpZGV2b3BzOkxpc3RBc3NldFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEFzc2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2V0cyA9IFwiYWlkZXZvcHM6TGlzdEFzc2V0c1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnMgPSBcImFpZGV2b3BzOkxpc3RBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0QmFja2xvZ1Rhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmFja2xvZ1Rhc2tzID0gXCJhaWRldm9wczpMaXN0QmFja2xvZ1Rhc2tzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdENoYXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2hhdHMgPSBcImFpZGV2b3BzOkxpc3RDaGF0c1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhlY3V0aW9ucyA9IFwiYWlkZXZvcHM6TGlzdEV4ZWN1dGlvbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0R29hbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHb2FscyA9IFwiYWlkZXZvcHM6TGlzdEdvYWxzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEpvdXJuYWxSZWNvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm91cm5hbFJlY29yZHMgPSBcImFpZGV2b3BzOkxpc3RKb3VybmFsUmVjb3Jkc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RLbm93bGVkZ2VJdGVtVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RLbm93bGVkZ2VJdGVtVmVyc2lvbnMgPVxuXHRcdFwiYWlkZXZvcHM6TGlzdEtub3dsZWRnZUl0ZW1WZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RLbm93bGVkZ2VJdGVtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtub3dsZWRnZUl0ZW1zID0gXCJhaWRldm9wczpMaXN0S25vd2xlZGdlSXRlbXNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0UGVuZGluZ01lc3NhZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGVuZGluZ01lc3NhZ2VzID0gXCJhaWRldm9wczpMaXN0UGVuZGluZ01lc3NhZ2VzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdFByaXZhdGVDb25uZWN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaXZhdGVDb25uZWN0aW9ucyA9IFwiYWlkZXZvcHM6TGlzdFByaXZhdGVDb25uZWN0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRhdGlvbnMgPSBcImFpZGV2b3BzOkxpc3RSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0U2VydmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlcyA9IFwiYWlkZXZvcHM6TGlzdFNlcnZpY2VzXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiYWlkZXZvcHM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RUcmlnZ2VycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWdnZXJzID0gXCJhaWRldm9wczpMaXN0VHJpZ2dlcnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0V2ViaG9va3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXZWJob29rcyA9IFwiYWlkZXZvcHM6TGlzdFdlYmhvb2tzXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlJlZ2lzdGVyU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJTZXJ2aWNlID0gXCJhaWRldm9wczpSZWdpc3RlclNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6UmV2b2tlQWNjZXNzVG9rZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldm9rZUFjY2Vzc1Rva2VuID0gXCJhaWRldm9wczpSZXZva2VBY2Nlc3NUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpSb3RhdGVBY2Nlc3NUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUm90YXRlQWNjZXNzVG9rZW4gPSBcImFpZGV2b3BzOlJvdGF0ZUFjY2Vzc1Rva2VuXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6U2VhcmNoU2VydmljZUFjY2Vzc2libGVSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoU2VydmljZUFjY2Vzc2libGVSZXNvdXJjZSA9XG5cdFx0XCJhaWRldm9wczpTZWFyY2hTZXJ2aWNlQWNjZXNzaWJsZVJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlNlbmRNZXNzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTWVzc2FnZSA9IFwiYWlkZXZvcHM6U2VuZE1lc3NhZ2VcIjtcblx0LyoqIFtUYWdnaW5nXSBhaWRldm9wczpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImFpZGV2b3BzOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gYWlkZXZvcHM6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwiYWlkZXZvcHM6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVBZ2VudFNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFNwYWNlID0gXCJhaWRldm9wczpVcGRhdGVBZ2VudFNwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZUFwcHJvdmFsQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHByb3ZhbEFjdGlvbiA9IFwiYWlkZXZvcHM6VXBkYXRlQXBwcm92YWxBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlQXNzZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc2V0ID0gXCJhaWRldm9wczpVcGRhdGVBc3NldFwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVBc3NldEZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc2V0RmlsZSA9IFwiYWlkZXZvcHM6VXBkYXRlQXNzZXRGaWxlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NvY2lhdGlvbiA9IFwiYWlkZXZvcHM6VXBkYXRlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlQmFja2xvZ1Rhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJhY2tsb2dUYXNrID0gXCJhaWRldm9wczpVcGRhdGVCYWNrbG9nVGFza1wiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVHb2FsICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHb2FsID0gXCJhaWRldm9wczpVcGRhdGVHb2FsXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZUtub3dsZWRnZUl0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUtub3dsZWRnZUl0ZW0gPSBcImFpZGV2b3BzOlVwZGF0ZUtub3dsZWRnZUl0ZW1cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlT3BlcmF0b3JBcHBJZHBDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9wZXJhdG9yQXBwSWRwQ29uZmlnID1cblx0XHRcImFpZGV2b3BzOlVwZGF0ZU9wZXJhdG9yQXBwSWRwQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGUgPVxuXHRcdFwiYWlkZXZvcHM6VXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb21tZW5kYXRpb24gPSBcImFpZGV2b3BzOlVwZGF0ZVJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZVRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyaWdnZXIgPSBcImFpZGV2b3BzOlVwZGF0ZVRyaWdnZXJcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VmFsaWRhdGVBd3NBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlQXdzQXNzb2NpYXRpb25zID0gXCJhaWRldm9wczpWYWxpZGF0ZUF3c0Fzc29jaWF0aW9uc1wiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZXNjcmliZVByaXZhdGVDb25uZWN0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZXNjcmliZVNlcnZpY2VzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBY2Nlc3NUb2tlbixcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0QWNjb3VudFVzYWdlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFNwYWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBc3NldCxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0QXNzZXRDb250ZW50LFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBc3NldEZpbGUsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLmFjdGlvbkdldEFzc29jaWF0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRCYWNrbG9nVGFzayxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0S25vd2xlZGdlSXRlbSxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0T3BlcmF0b3JBcHAsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLmFjdGlvbkdldFJlY29tbWVuZGF0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRTZXJ2aWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRUcmlnZ2VyLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5TZWFyY2hTZXJ2aWNlQWNjZXNzaWJsZVJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEFpZGV2b3BzQWN0aW9ucy5Bc3NvY2lhdGVTZXJ2aWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5DcmVhdGVBY2Nlc3NUb2tlbixcblx0XHRBaWRldm9wc0FjdGlvbnMuQ3JlYXRlQWdlbnRTcGFjZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuQ3JlYXRlQXNzZXQsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZUFzc2V0RmlsZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuQ3JlYXRlQmFja2xvZ1Rhc2ssXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZUNoYXQsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZUtub3dsZWRnZUl0ZW0sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZU9uZVRpbWVMb2dpblNlc3Npb24sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5DcmVhdGVUcmlnZ2VyLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZWxldGVBZ2VudFNwYWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZWxldGVBc3NldCxcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVsZXRlQXNzZXRGaWxlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZWxldGVLbm93bGVkZ2VJdGVtLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZWxldGVQcml2YXRlQ29ubmVjdGlvbixcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVsZXRlVHJpZ2dlcixcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVyZWdpc3RlclNlcnZpY2UsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkRlc2NyaWJlU3VwcG9ydExldmVsLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EaXNhYmxlT3BlcmF0b3JBcHAsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkRpc2Fzc29jaWF0ZVNlcnZpY2UsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkRpc2NvdmVyVG9wb2xvZ3ksXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkVuYWJsZU9wZXJhdG9yQXBwLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5FbmRDaGF0Rm9yQ2FzZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuSW5pdGlhdGVDaGF0Rm9yQ2FzZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuUmVnaXN0ZXJTZXJ2aWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5SZXZva2VBY2Nlc3NUb2tlbixcblx0XHRBaWRldm9wc0FjdGlvbnMuUm90YXRlQWNjZXNzVG9rZW4sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlNlbmRNZXNzYWdlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVBZ2VudFNwYWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVBcHByb3ZhbEFjdGlvbixcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlQXNzZXQsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZUFzc2V0RmlsZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlQXNzb2NpYXRpb24sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZUJhY2tsb2dUYXNrLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVHb2FsLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVLbm93bGVkZ2VJdGVtLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVPcGVyYXRvckFwcElkcENvbmZpZyxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlUmVjb21tZW5kYXRpb24sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZVRyaWdnZXIsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlZhbGlkYXRlQXdzQXNzb2NpYXRpb25zLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEFjY2Vzc1Rva2Vucyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEFnZW50U3BhY2VzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QXNzZXRGaWxlcyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEFzc2V0VHlwZXMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RBc3NldFZlcnNpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QXNzZXRzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QXNzb2NpYXRpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QmFja2xvZ1Rhc2tzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0Q2hhdHMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RFeGVjdXRpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0R29hbHMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RKb3VybmFsUmVjb3Jkcyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEtub3dsZWRnZUl0ZW1WZXJzaW9ucyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEtub3dsZWRnZUl0ZW1zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0UGVuZGluZ01lc3NhZ2VzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0UHJpdmF0ZUNvbm5lY3Rpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0UmVjb21tZW5kYXRpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0U2VydmljZXMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RUcmlnZ2Vycyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdFdlYmhvb2tzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRBaWRldm9wc0FjdGlvbnMuQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRBaWRldm9wc0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhZ2VudHNwYWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc0FnZW50c3BhY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRTcGFjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudFNwYWNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhZ2VudHNwYWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc0FnZW50c3BhY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50U3BhY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXNzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzQXNzZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRTcGFjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudFNwYWNlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBBc3NldElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhc3NldElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXNzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzQXNzZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50U3BhY2VJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFzc2V0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhc3NldElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhc3NvY2lhdGlvbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzQXNzb2NpYXRpb25zQXJuUHJvcHMge1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRTcGFjZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXNzb2NpYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXNzb2NpYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFzc29jaWF0aW9ucyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWlkZXZvcHNBc3NvY2lhdGlvbnNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50U3BhY2VJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFzc29jaWF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhc3NvY2lhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcml2YXRlLWNvbm5lY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzUHJpdmF0ZUNvbm5lY3Rpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByaXZhdGUtY29ubmVjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWlkZXZvcHNQcml2YXRlQ29ubmVjdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzU2VydmljZUFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2aWNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzU2VydmljZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cmlnZ2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc1RyaWdnZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRTcGFjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudFNwYWNlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmlnZ2VySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyaWdnZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRyaWdnZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzVHJpZ2dlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdlbnRTcGFjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWdlbnRTcGFjZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJpZ2dlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJpZ2dlcklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFnZW50c3BhY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YWlkZXZvcHM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2VudHNwYWNlXFwvKD88YWdlbnRTcGFjZUlkPlteOi8/XSspJC87XG5jb25zdCBBc3NldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTphaWRldm9wczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50c3BhY2VcXC8oPzxhZ2VudFNwYWNlSWQ+W146Lz9dKylcXC9hc3NldFxcLyg/PGFzc2V0SWQ+W146Lz9dKykkLztcbmNvbnN0IEFzc29jaWF0aW9uc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTphaWRldm9wczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50c3BhY2VcXC8oPzxhZ2VudFNwYWNlSWQ+W146Lz9dKylcXC9hc3NvY2lhdGlvblxcLyg/PGFzc29jaWF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFByaXZhdGVDb25uZWN0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmFpZGV2b3BzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJpdmF0ZS1jb25uZWN0aW9uXFwvKD88bmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTphaWRldm9wczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2VcXC8oPzxzZXJ2aWNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFRyaWdnZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YWlkZXZvcHM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2VudHNwYWNlXFwvKD88YWdlbnRTcGFjZUlkPlteOi8/XSspXFwvdHJpZ2dlclxcLyg/PHRyaWdnZXJJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGFpZGV2b3BzIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFpZGV2b3BzUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhZ2VudHNwYWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFnZW50c3BhY2UocHJvcHM6IEFpZGV2b3BzQWdlbnRzcGFjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTphaWRldm9wczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZ2VudHNwYWNlLyR7cHJvcHMuYWdlbnRTcGFjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhZ2VudHNwYWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBZ2VudHNwYWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFnZW50c3BhY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWdlbnRzcGFjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBZ2VudHNwYWNlQXJuKGFybjogc3RyaW5nKTogQWlkZXZvcHNBZ2VudHNwYWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZ2VudHNwYWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFnZW50c3BhY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWdlbnRTcGFjZUlkOiBtYXRjaC5ncm91cHMhLmFnZW50U3BhY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhc3NldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhc3NldChwcm9wczogQWlkZXZvcHNBc3NldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTphaWRldm9wczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZ2VudHNwYWNlLyR7cHJvcHMuYWdlbnRTcGFjZUlkfS9hc3NldC8ke3Byb3BzLmFzc2V0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFzc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBc3NldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBc3NldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhc3NldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBc3NldEFybihhcm46IHN0cmluZyk6IEFpZGV2b3BzQXNzZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFzc2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFzc2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50U3BhY2VJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudFNwYWNlSWQsXG5cdFx0XHRhc3NldElkOiBtYXRjaC5ncm91cHMhLmFzc2V0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXNzb2NpYXRpb25zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFzc29jaWF0aW9ucyhwcm9wczogQWlkZXZvcHNBc3NvY2lhdGlvbnNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YWlkZXZvcHM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWdlbnRzcGFjZS8ke3Byb3BzLmFnZW50U3BhY2VJZH0vYXNzb2NpYXRpb24vJHtwcm9wcy5hc3NvY2lhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhc3NvY2lhdGlvbnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFzc29jaWF0aW9uc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBc3NvY2lhdGlvbnNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXNzb2NpYXRpb25zIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFzc29jaWF0aW9uc0Fybihhcm46IHN0cmluZyk6IEFpZGV2b3BzQXNzb2NpYXRpb25zQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBc3NvY2lhdGlvbnNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXNzb2NpYXRpb25zIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50U3BhY2VJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudFNwYWNlSWQsXG5cdFx0XHRhc3NvY2lhdGlvbklkOiBtYXRjaC5ncm91cHMhLmFzc29jaWF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJpdmF0ZS1jb25uZWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByaXZhdGVDb25uZWN0aW9uKHByb3BzOiBBaWRldm9wc1ByaXZhdGVDb25uZWN0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmFpZGV2b3BzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByaXZhdGUtY29ubmVjdGlvbi8ke3Byb3BzLm5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByaXZhdGUtY29ubmVjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJpdmF0ZUNvbm5lY3Rpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJpdmF0ZUNvbm5lY3Rpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJpdmF0ZS1jb25uZWN0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByaXZhdGVDb25uZWN0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBBaWRldm9wc1ByaXZhdGVDb25uZWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcml2YXRlQ29ubmVjdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcml2YXRlLWNvbm5lY3Rpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bmFtZTogbWF0Y2guZ3JvdXBzIS5uYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZShwcm9wczogQWlkZXZvcHNTZXJ2aWNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmFpZGV2b3BzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2UvJHtwcm9wcy5zZXJ2aWNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2aWNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VBcm4oYXJuOiBzdHJpbmcpOiBBaWRldm9wc1NlcnZpY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2aWNlSWQ6IG1hdGNoLmdyb3VwcyEuc2VydmljZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRyaWdnZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdHJpZ2dlcihwcm9wczogQWlkZXZvcHNUcmlnZ2VyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmFpZGV2b3BzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFnZW50c3BhY2UvJHtwcm9wcy5hZ2VudFNwYWNlSWR9L3RyaWdnZXIvJHtwcm9wcy50cmlnZ2VySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRyaWdnZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRyaWdnZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVHJpZ2dlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cmlnZ2VyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRyaWdnZXJBcm4oYXJuOiBzdHJpbmcpOiBBaWRldm9wc1RyaWdnZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRyaWdnZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJpZ2dlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhZ2VudFNwYWNlSWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRTcGFjZUlkLFxuXHRcdFx0dHJpZ2dlcklkOiBtYXRjaC5ncm91cHMhLnRyaWdnZXJJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBhaWRldm9wcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFpZGV2b3BzT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkFzc29jaWF0ZVNlcnZpY2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBZ2VudFNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRTcGFjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpDcmVhdGVBZ2VudFNwYWNlXCIsXG5cdFx0XCJhaWRldm9wczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBc3NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc2V0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBc3NldEZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBc3NldEZpbGU6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJhY2tsb2dUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmFja2xvZ1Rhc2s6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNoYXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDaGF0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByaXZhdGVDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdFx0XCJhaWRldm9wczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmlnZ2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpZ2dlcjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50U3BhY2U6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6RGVsZXRlQWdlbnRTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXNzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NldDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXNzZXRGaWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzZXRGaWxlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByaXZhdGVDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkRlbGV0ZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmlnZ2VyOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOkRlcmVnaXN0ZXJTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVPcGVyYXRvckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVPcGVyYXRvckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpEaXNhYmxlT3BlcmF0b3JBcHBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6RGlzYXNzb2NpYXRlU2VydmljZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVPcGVyYXRvckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZU9wZXJhdG9yQXBwOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkVuYWJsZU9wZXJhdG9yQXBwXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWNjb3VudFVzYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBY2NvdW50VXNhZ2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50U3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50U3BhY2U6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6R2V0QWdlbnRTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXNzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFzc2V0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBc3NldENvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFzc2V0Q29udGVudDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXNzZXRGaWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBc3NldEZpbGU6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXCJhaWRldm9wczpHZXRBc3NvY2lhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QmFja2xvZ1Rhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJhY2tsb2dUYXNrOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcGVyYXRvckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T3BlcmF0b3JBcHA6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6R2V0T3BlcmF0b3JBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VydmljZTogc3RyaW5nW10gPSBbXCJhaWRldm9wczpHZXRTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUcmlnZ2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUcmlnZ2VyOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRTcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRTcGFjZXM6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6TGlzdEFnZW50U3BhY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXRGaWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldEZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXRUeXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldFR5cGVzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXRWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldFZlcnNpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2V0czogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6TGlzdEFzc29jaWF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJhY2tsb2dUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCYWNrbG9nVGFza3M6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDaGF0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDaGF0czogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhlY3V0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEdvYWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdvYWxzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Sm91cm5hbFJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm91cm5hbFJlY29yZHM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQZW5kaW5nTWVzc2FnZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGVuZGluZ01lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJpdmF0ZUNvbm5lY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaXZhdGVDb25uZWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpMaXN0UHJpdmF0ZUNvbm5lY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXM6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6TGlzdFNlcnZpY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlnZ2VycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmlnZ2Vyczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdlYmhvb2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdlYmhvb2tzOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOkxpc3RXZWJob29rc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYWlkZXZvcHM6UmVnaXN0ZXJTZXJ2aWNlXCIsXG5cdFx0XCJhaWRldm9wczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kTWVzc2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRNZXNzYWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJhaWRldm9wczpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBZ2VudFNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRTcGFjZTogc3RyaW5nW10gPSBbXCJhaWRldm9wczpVcGRhdGVBZ2VudFNwYWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcHByb3ZhbEFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcHJvdmFsQWN0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBc3NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc2V0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBc3NldEZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NldEZpbGU6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJhaWRldm9wczpVcGRhdGVBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVCYWNrbG9nVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJhY2tsb2dUYXNrOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHb2FsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlR29hbDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlT3BlcmF0b3JBcHBJZHBDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPcGVyYXRvckFwcElkcENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpVcGRhdGVPcGVyYXRvckFwcElkcENvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlnZ2VyOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBWYWxpZGF0ZUF3c0Fzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlQXdzQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOlZhbGlkYXRlQXdzQXNzb2NpYXRpb25zXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBhaWRldm9wcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFpZGV2b3BzQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBZ2VudFNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50U3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVByaXZhdGVDb25uZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByaXZhdGVDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVBZ2VudFNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50U3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVByaXZhdGVDb25uZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByaXZhdGVDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXJlZ2lzdGVyU2VydmljZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRBZ2VudFNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50U3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3RlclNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJTZXJ2aWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQWdlbnRTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
802
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWlkZXZvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2FpZGV2b3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsK0NBQStDO0FBQy9DLG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLGVBQWU7O0FBQTVCLDBDQWlSQzs7O0FBaFJBLDhCQUE4QjtBQUNkLDhCQUFjLEdBQUcsVUFBVSxDQUFDO0FBRTVDLHdFQUF3RTtBQUN4RCxpREFBaUMsR0FDaEQsNENBQTRDLENBQUM7QUFDOUMsd0NBQXdDO0FBQ3hCLGdDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELHlDQUF5QztBQUN6QixpQ0FBaUIsR0FBRyw0QkFBNEIsQ0FBQztBQUNqRSx3Q0FBd0M7QUFDeEIsZ0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsbUNBQW1DO0FBQ25CLDJCQUFXLEdBQUcsc0JBQXNCLENBQUM7QUFDckQsdUNBQXVDO0FBQ3ZCLCtCQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0QseUNBQXlDO0FBQ3pCLGlDQUFpQixHQUFHLDRCQUE0QixDQUFDO0FBQ2pFLGtDQUFrQztBQUNsQiwwQkFBVSxHQUFHLHFCQUFxQixDQUFDO0FBQ25ELDJDQUEyQztBQUMzQixtQ0FBbUIsR0FBRyw4QkFBOEIsQ0FBQztBQUNyRSxpREFBaUQ7QUFDakMseUNBQXlCLEdBQ3hDLG9DQUFvQyxDQUFDO0FBQ3RDLCtDQUErQztBQUMvQix1Q0FBdUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUM3RSxxQ0FBcUM7QUFDckIsNkJBQWEsR0FBRyx3QkFBd0IsQ0FBQztBQUN6RCx3Q0FBd0M7QUFDeEIsZ0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsbUNBQW1DO0FBQ25CLDJCQUFXLEdBQUcsc0JBQXNCLENBQUM7QUFDckQs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QWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLDJDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsNkNBQTBCLEdBQWE7SUFDdEQsMkJBQTJCO0lBQzNCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELGdEQUE2QixHQUFhO0lBQ3pELDJCQUEyQjtDQUMzQixDQUFDO0FBQ0Ysa0ZBQWtGO0FBQ2xFLGtFQUErQyxHQUFhO0lBQzNFLDJCQUEyQjtDQUMzQixDQUFDO0FBRUYsMkRBQTJEO0FBQzNDLHlDQUFzQixHQUFHLDhCQUE4QixDQUFDO0FBQ3hFLDJEQUEyRDtBQUMzQyx5Q0FBc0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN4RSx1REFBdUQ7QUFDdkMsa0NBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsbUNBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLCtCQUFZLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvYWlkZXZvcHMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGFpZGV2b3BzIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBBaWRldm9wc0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJhaWRldm9wc1wiO1xuXG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIGFpZGV2b3BzOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlID1cblx0XHRcImFpZGV2b3BzOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpBc3NvY2lhdGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVTZXJ2aWNlID0gXCJhaWRldm9wczpBc3NvY2lhdGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZUFjY2Vzc1Rva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY2Nlc3NUb2tlbiA9IFwiYWlkZXZvcHM6Q3JlYXRlQWNjZXNzVG9rZW5cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlQWdlbnRTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRTcGFjZSA9IFwiYWlkZXZvcHM6Q3JlYXRlQWdlbnRTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpDcmVhdGVBc3NldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzZXQgPSBcImFpZGV2b3BzOkNyZWF0ZUFzc2V0XCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZUFzc2V0RmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzZXRGaWxlID0gXCJhaWRldm9wczpDcmVhdGVBc3NldEZpbGVcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlQmFja2xvZ1Rhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJhY2tsb2dUYXNrID0gXCJhaWRldm9wczpDcmVhdGVCYWNrbG9nVGFza1wiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpDcmVhdGVDaGF0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDaGF0ID0gXCJhaWRldm9wczpDcmVhdGVDaGF0XCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZUtub3dsZWRnZUl0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUtub3dsZWRnZUl0ZW0gPSBcImFpZGV2b3BzOkNyZWF0ZUtub3dsZWRnZUl0ZW1cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvbiA9XG5cdFx0XCJhaWRldm9wczpDcmVhdGVPbmVUaW1lTG9naW5TZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbiA9IFwiYWlkZXZvcHM6Q3JlYXRlUHJpdmF0ZUNvbm5lY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlVHJpZ2dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpZ2dlciA9IFwiYWlkZXZvcHM6Q3JlYXRlVHJpZ2dlclwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZWxldGVBZ2VudFNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFNwYWNlID0gXCJhaWRldm9wczpEZWxldGVBZ2VudFNwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkRlbGV0ZUFzc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NldCA9IFwiYWlkZXZvcHM6RGVsZXRlQXNzZXRcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGVsZXRlQXNzZXRGaWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NldEZpbGUgPSBcImFpZGV2b3BzOkRlbGV0ZUFzc2V0RmlsZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZWxldGVLbm93bGVkZ2VJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLbm93bGVkZ2VJdGVtID0gXCJhaWRldm9wczpEZWxldGVLbm93bGVkZ2VJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkRlbGV0ZVByaXZhdGVDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbiA9IFwiYWlkZXZvcHM6RGVsZXRlUHJpdmF0ZUNvbm5lY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGVsZXRlVHJpZ2dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpZ2dlciA9IFwiYWlkZXZvcHM6RGVsZXRlVHJpZ2dlclwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZXJlZ2lzdGVyU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclNlcnZpY2UgPSBcImFpZGV2b3BzOkRlcmVnaXN0ZXJTZXJ2aWNlXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6RGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbiA9XG5cdFx0XCJhaWRldm9wczpEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6RGVzY3JpYmVTZXJ2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlcyA9IFwiYWlkZXZvcHM6RGVzY3JpYmVTZXJ2aWNlc1wiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZXNjcmliZVN1cHBvcnRMZXZlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdXBwb3J0TGV2ZWwgPSBcImFpZGV2b3BzOkRlc2NyaWJlU3VwcG9ydExldmVsXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkRpc2FibGVPcGVyYXRvckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZU9wZXJhdG9yQXBwID0gXCJhaWRldm9wczpEaXNhYmxlT3BlcmF0b3JBcHBcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGlzYXNzb2NpYXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlU2VydmljZSA9IFwiYWlkZXZvcHM6RGlzYXNzb2NpYXRlU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEaXNjb3ZlclRvcG9sb2d5ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb3ZlclRvcG9sb2d5ID0gXCJhaWRldm9wczpEaXNjb3ZlclRvcG9sb2d5XCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkVuYWJsZU9wZXJhdG9yQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVPcGVyYXRvckFwcCA9IFwiYWlkZXZvcHM6RW5hYmxlT3BlcmF0b3JBcHBcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RW5kQ2hhdEZvckNhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuZENoYXRGb3JDYXNlID0gXCJhaWRldm9wczpFbmRDaGF0Rm9yQ2FzZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldEFjY2Vzc1Rva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBY2Nlc3NUb2tlbiA9IFwiYWlkZXZvcHM6R2V0QWNjZXNzVG9rZW5cIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRBY2NvdW50VXNhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFjY291bnRVc2FnZSA9IFwiYWlkZXZvcHM6R2V0QWNjb3VudFVzYWdlXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0QWdlbnRTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRTcGFjZSA9IFwiYWlkZXZvcHM6R2V0QWdlbnRTcGFjZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldEFzc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3NldCA9IFwiYWlkZXZvcHM6R2V0QXNzZXRcIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRBc3NldENvbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFzc2V0Q29udGVudCA9IFwiYWlkZXZvcHM6R2V0QXNzZXRDb250ZW50XCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0QXNzZXRGaWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3NldEZpbGUgPSBcImFpZGV2b3BzOkdldEFzc2V0RmlsZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3NvY2lhdGlvbiA9IFwiYWlkZXZvcHM6R2V0QXNzb2NpYXRpb25cIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRCYWNrbG9nVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmFja2xvZ1Rhc2sgPSBcImFpZGV2b3BzOkdldEJhY2tsb2dUYXNrXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0S25vd2xlZGdlSXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0S25vd2xlZGdlSXRlbSA9IFwiYWlkZXZvcHM6R2V0S25vd2xlZGdlSXRlbVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldE9wZXJhdG9yQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPcGVyYXRvckFwcCA9IFwiYWlkZXZvcHM6R2V0T3BlcmF0b3JBcHBcIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb21tZW5kYXRpb24gPSBcImFpZGV2b3BzOkdldFJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0U2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZSA9IFwiYWlkZXZvcHM6R2V0U2VydmljZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldFRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRyaWdnZXIgPSBcImFpZGV2b3BzOkdldFRyaWdnZXJcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6SW5pdGlhdGVDaGF0Rm9yQ2FzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5pdGlhdGVDaGF0Rm9yQ2FzZSA9IFwiYWlkZXZvcHM6SW5pdGlhdGVDaGF0Rm9yQ2FzZVwiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RBY2Nlc3NUb2tlbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBY2Nlc3NUb2tlbnMgPSBcImFpZGV2b3BzOkxpc3RBY2Nlc3NUb2tlbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0QWdlbnRTcGFjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFNwYWNlcyA9IFwiYWlkZXZvcHM6TGlzdEFnZW50U3BhY2VzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEFzc2V0RmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldEZpbGVzID0gXCJhaWRldm9wczpMaXN0QXNzZXRGaWxlc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RBc3NldFR5cGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzZXRUeXBlcyA9IFwiYWlkZXZvcHM6TGlzdEFzc2V0VHlwZXNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0QXNzZXRWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2V0VmVyc2lvbnMgPSBcImFpZGV2b3BzOkxpc3RBc3NldFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEFzc2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2V0cyA9IFwiYWlkZXZvcHM6TGlzdEFzc2V0c1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnMgPSBcImFpZGV2b3BzOkxpc3RBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0QmFja2xvZ1Rhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmFja2xvZ1Rhc2tzID0gXCJhaWRldm9wczpMaXN0QmFja2xvZ1Rhc2tzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdENoYXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2hhdHMgPSBcImFpZGV2b3BzOkxpc3RDaGF0c1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhlY3V0aW9ucyA9IFwiYWlkZXZvcHM6TGlzdEV4ZWN1dGlvbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0R29hbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHb2FscyA9IFwiYWlkZXZvcHM6TGlzdEdvYWxzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEpvdXJuYWxSZWNvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm91cm5hbFJlY29yZHMgPSBcImFpZGV2b3BzOkxpc3RKb3VybmFsUmVjb3Jkc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RLbm93bGVkZ2VJdGVtVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RLbm93bGVkZ2VJdGVtVmVyc2lvbnMgPVxuXHRcdFwiYWlkZXZvcHM6TGlzdEtub3dsZWRnZUl0ZW1WZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RLbm93bGVkZ2VJdGVtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtub3dsZWRnZUl0ZW1zID0gXCJhaWRldm9wczpMaXN0S25vd2xlZGdlSXRlbXNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0UGVuZGluZ01lc3NhZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGVuZGluZ01lc3NhZ2VzID0gXCJhaWRldm9wczpMaXN0UGVuZGluZ01lc3NhZ2VzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdFByaXZhdGVDb25uZWN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaXZhdGVDb25uZWN0aW9ucyA9IFwiYWlkZXZvcHM6TGlzdFByaXZhdGVDb25uZWN0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRhdGlvbnMgPSBcImFpZGV2b3BzOkxpc3RSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0U2VydmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlcyA9IFwiYWlkZXZvcHM6TGlzdFNlcnZpY2VzXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiYWlkZXZvcHM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RUcmlnZ2VycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWdnZXJzID0gXCJhaWRldm9wczpMaXN0VHJpZ2dlcnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0V2ViaG9va3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXZWJob29rcyA9IFwiYWlkZXZvcHM6TGlzdFdlYmhvb2tzXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlJlZ2lzdGVyU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJTZXJ2aWNlID0gXCJhaWRldm9wczpSZWdpc3RlclNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6UmV2b2tlQWNjZXNzVG9rZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldm9rZUFjY2Vzc1Rva2VuID0gXCJhaWRldm9wczpSZXZva2VBY2Nlc3NUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpSb3RhdGVBY2Nlc3NUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUm90YXRlQWNjZXNzVG9rZW4gPSBcImFpZGV2b3BzOlJvdGF0ZUFjY2Vzc1Rva2VuXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6U2VhcmNoU2VydmljZUFjY2Vzc2libGVSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoU2VydmljZUFjY2Vzc2libGVSZXNvdXJjZSA9XG5cdFx0XCJhaWRldm9wczpTZWFyY2hTZXJ2aWNlQWNjZXNzaWJsZVJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlNlbmRNZXNzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTWVzc2FnZSA9IFwiYWlkZXZvcHM6U2VuZE1lc3NhZ2VcIjtcblx0LyoqIFtUYWdnaW5nXSBhaWRldm9wczpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImFpZGV2b3BzOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gYWlkZXZvcHM6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwiYWlkZXZvcHM6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVBZ2VudFNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFNwYWNlID0gXCJhaWRldm9wczpVcGRhdGVBZ2VudFNwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZUFwcHJvdmFsQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHByb3ZhbEFjdGlvbiA9IFwiYWlkZXZvcHM6VXBkYXRlQXBwcm92YWxBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlQXNzZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc2V0ID0gXCJhaWRldm9wczpVcGRhdGVBc3NldFwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVBc3NldEZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc2V0RmlsZSA9IFwiYWlkZXZvcHM6VXBkYXRlQXNzZXRGaWxlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NvY2lhdGlvbiA9IFwiYWlkZXZvcHM6VXBkYXRlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlQmFja2xvZ1Rhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJhY2tsb2dUYXNrID0gXCJhaWRldm9wczpVcGRhdGVCYWNrbG9nVGFza1wiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVHb2FsICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHb2FsID0gXCJhaWRldm9wczpVcGRhdGVHb2FsXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZUtub3dsZWRnZUl0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUtub3dsZWRnZUl0ZW0gPSBcImFpZGV2b3BzOlVwZGF0ZUtub3dsZWRnZUl0ZW1cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlT3BlcmF0b3JBcHBJZHBDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9wZXJhdG9yQXBwSWRwQ29uZmlnID1cblx0XHRcImFpZGV2b3BzOlVwZGF0ZU9wZXJhdG9yQXBwSWRwQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGUgPVxuXHRcdFwiYWlkZXZvcHM6VXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb21tZW5kYXRpb24gPSBcImFpZGV2b3BzOlVwZGF0ZVJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZVRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyaWdnZXIgPSBcImFpZGV2b3BzOlVwZGF0ZVRyaWdnZXJcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VmFsaWRhdGVBd3NBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlQXdzQXNzb2NpYXRpb25zID0gXCJhaWRldm9wczpWYWxpZGF0ZUF3c0Fzc29jaWF0aW9uc1wiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZXNjcmliZVByaXZhdGVDb25uZWN0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZXNjcmliZVNlcnZpY2VzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBY2Nlc3NUb2tlbixcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0QWNjb3VudFVzYWdlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFNwYWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBc3NldCxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0QXNzZXRDb250ZW50LFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBc3NldEZpbGUsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLmFjdGlvbkdldEFzc29jaWF0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRCYWNrbG9nVGFzayxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0S25vd2xlZGdlSXRlbSxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0T3BlcmF0b3JBcHAsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLmFjdGlvbkdldFJlY29tbWVuZGF0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRTZXJ2aWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRUcmlnZ2VyLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5TZWFyY2hTZXJ2aWNlQWNjZXNzaWJsZVJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEFpZGV2b3BzQWN0aW9ucy5Bc3NvY2lhdGVTZXJ2aWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5DcmVhdGVBY2Nlc3NUb2tlbixcblx0XHRBaWRldm9wc0FjdGlvbnMuQ3JlYXRlQWdlbnRTcGFjZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuQ3JlYXRlQXNzZXQsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZUFzc2V0RmlsZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuQ3JlYXRlQmFja2xvZ1Rhc2ssXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZUNoYXQsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZUtub3dsZWRnZUl0ZW0sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZU9uZVRpbWVMb2dpblNlc3Npb24sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5DcmVhdGVUcmlnZ2VyLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZWxldGVBZ2VudFNwYWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZWxldGVBc3NldCxcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVsZXRlQXNzZXRGaWxlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZWxldGVLbm93bGVkZ2VJdGVtLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZWxldGVQcml2YXRlQ29ubmVjdGlvbixcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVsZXRlVHJpZ2dlcixcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVyZWdpc3RlclNlcnZpY2UsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkRlc2NyaWJlU3VwcG9ydExldmVsLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EaXNhYmxlT3BlcmF0b3JBcHAsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkRpc2Fzc29jaWF0ZVNlcnZpY2UsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkRpc2NvdmVyVG9wb2xvZ3ksXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkVuYWJsZU9wZXJhdG9yQXBwLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5FbmRDaGF0Rm9yQ2FzZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuSW5pdGlhdGVDaGF0Rm9yQ2FzZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuUmVnaXN0ZXJTZXJ2aWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5SZXZva2VBY2Nlc3NUb2tlbixcblx0XHRBaWRldm9wc0FjdGlvbnMuUm90YXRlQWNjZXNzVG9rZW4sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlNlbmRNZXNzYWdlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVBZ2VudFNwYWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVBcHByb3ZhbEFjdGlvbixcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlQXNzZXQsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZUFzc2V0RmlsZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlQXNzb2NpYXRpb24sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZUJhY2tsb2dUYXNrLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVHb2FsLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVLbm93bGVkZ2VJdGVtLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVPcGVyYXRvckFwcElkcENvbmZpZyxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlUmVjb21tZW5kYXRpb24sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZVRyaWdnZXIsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlZhbGlkYXRlQXdzQXNzb2NpYXRpb25zLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEFjY2Vzc1Rva2Vucyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEFnZW50U3BhY2VzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QXNzZXRGaWxlcyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEFzc2V0VHlwZXMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RBc3NldFZlcnNpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QXNzZXRzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QXNzb2NpYXRpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QmFja2xvZ1Rhc2tzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0Q2hhdHMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RFeGVjdXRpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0R29hbHMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RKb3VybmFsUmVjb3Jkcyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEtub3dsZWRnZUl0ZW1WZXJzaW9ucyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEtub3dsZWRnZUl0ZW1zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0UGVuZGluZ01lc3NhZ2VzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0UHJpdmF0ZUNvbm5lY3Rpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0UmVjb21tZW5kYXRpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0U2VydmljZXMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RUcmlnZ2Vycyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdFdlYmhvb2tzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRBaWRldm9wc0FjdGlvbnMuQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRBaWRldm9wc0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhZ2VudHNwYWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc0FnZW50c3BhY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRTcGFjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudFNwYWNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhZ2VudHNwYWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc0FnZW50c3BhY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50U3BhY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXNzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzQXNzZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRTcGFjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudFNwYWNlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBBc3NldElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhc3NldElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXNzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzQXNzZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50U3BhY2VJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFzc2V0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhc3NldElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhc3NvY2lhdGlvbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzQXNzb2NpYXRpb25zQXJuUHJvcHMge1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRTcGFjZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXNzb2NpYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXNzb2NpYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFzc29jaWF0aW9ucyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWlkZXZvcHNBc3NvY2lhdGlvbnNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50U3BhY2VJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFzc29jaWF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhc3NvY2lhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcml2YXRlLWNvbm5lY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzUHJpdmF0ZUNvbm5lY3Rpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByaXZhdGUtY29ubmVjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWlkZXZvcHNQcml2YXRlQ29ubmVjdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzU2VydmljZUFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2aWNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzU2VydmljZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cmlnZ2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc1RyaWdnZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRTcGFjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudFNwYWNlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmlnZ2VySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyaWdnZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRyaWdnZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzVHJpZ2dlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdlbnRTcGFjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWdlbnRTcGFjZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJpZ2dlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJpZ2dlcklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFnZW50c3BhY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YWlkZXZvcHM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2VudHNwYWNlXFwvKD88YWdlbnRTcGFjZUlkPlteOi8/XSspJC87XG5jb25zdCBBc3NldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTphaWRldm9wczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50c3BhY2VcXC8oPzxhZ2VudFNwYWNlSWQ+W146Lz9dKylcXC9hc3NldFxcLyg/PGFzc2V0SWQ+W146Lz9dKykkLztcbmNvbnN0IEFzc29jaWF0aW9uc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTphaWRldm9wczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50c3BhY2VcXC8oPzxhZ2VudFNwYWNlSWQ+W146Lz9dKylcXC9hc3NvY2lhdGlvblxcLyg/PGFzc29jaWF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFByaXZhdGVDb25uZWN0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmFpZGV2b3BzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJpdmF0ZS1jb25uZWN0aW9uXFwvKD88bmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTphaWRldm9wczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2VcXC8oPzxzZXJ2aWNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFRyaWdnZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YWlkZXZvcHM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2VudHNwYWNlXFwvKD88YWdlbnRTcGFjZUlkPlteOi8/XSspXFwvdHJpZ2dlclxcLyg/PHRyaWdnZXJJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGFpZGV2b3BzIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFpZGV2b3BzUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhZ2VudHNwYWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFnZW50c3BhY2UocHJvcHM6IEFpZGV2b3BzQWdlbnRzcGFjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTphaWRldm9wczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZ2VudHNwYWNlLyR7cHJvcHMuYWdlbnRTcGFjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhZ2VudHNwYWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBZ2VudHNwYWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFnZW50c3BhY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWdlbnRzcGFjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBZ2VudHNwYWNlQXJuKGFybjogc3RyaW5nKTogQWlkZXZvcHNBZ2VudHNwYWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZ2VudHNwYWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFnZW50c3BhY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWdlbnRTcGFjZUlkOiBtYXRjaC5ncm91cHMhLmFnZW50U3BhY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhc3NldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhc3NldChwcm9wczogQWlkZXZvcHNBc3NldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTphaWRldm9wczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZ2VudHNwYWNlLyR7cHJvcHMuYWdlbnRTcGFjZUlkfS9hc3NldC8ke3Byb3BzLmFzc2V0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFzc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBc3NldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBc3NldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhc3NldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBc3NldEFybihhcm46IHN0cmluZyk6IEFpZGV2b3BzQXNzZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFzc2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFzc2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50U3BhY2VJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudFNwYWNlSWQsXG5cdFx0XHRhc3NldElkOiBtYXRjaC5ncm91cHMhLmFzc2V0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXNzb2NpYXRpb25zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFzc29jaWF0aW9ucyhwcm9wczogQWlkZXZvcHNBc3NvY2lhdGlvbnNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YWlkZXZvcHM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWdlbnRzcGFjZS8ke3Byb3BzLmFnZW50U3BhY2VJZH0vYXNzb2NpYXRpb24vJHtwcm9wcy5hc3NvY2lhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhc3NvY2lhdGlvbnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFzc29jaWF0aW9uc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBc3NvY2lhdGlvbnNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXNzb2NpYXRpb25zIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFzc29jaWF0aW9uc0Fybihhcm46IHN0cmluZyk6IEFpZGV2b3BzQXNzb2NpYXRpb25zQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBc3NvY2lhdGlvbnNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXNzb2NpYXRpb25zIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50U3BhY2VJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudFNwYWNlSWQsXG5cdFx0XHRhc3NvY2lhdGlvbklkOiBtYXRjaC5ncm91cHMhLmFzc29jaWF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJpdmF0ZS1jb25uZWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByaXZhdGVDb25uZWN0aW9uKHByb3BzOiBBaWRldm9wc1ByaXZhdGVDb25uZWN0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmFpZGV2b3BzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByaXZhdGUtY29ubmVjdGlvbi8ke3Byb3BzLm5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByaXZhdGUtY29ubmVjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJpdmF0ZUNvbm5lY3Rpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJpdmF0ZUNvbm5lY3Rpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJpdmF0ZS1jb25uZWN0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByaXZhdGVDb25uZWN0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBBaWRldm9wc1ByaXZhdGVDb25uZWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcml2YXRlQ29ubmVjdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcml2YXRlLWNvbm5lY3Rpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bmFtZTogbWF0Y2guZ3JvdXBzIS5uYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZShwcm9wczogQWlkZXZvcHNTZXJ2aWNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmFpZGV2b3BzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2UvJHtwcm9wcy5zZXJ2aWNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2aWNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VBcm4oYXJuOiBzdHJpbmcpOiBBaWRldm9wc1NlcnZpY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2aWNlSWQ6IG1hdGNoLmdyb3VwcyEuc2VydmljZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRyaWdnZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdHJpZ2dlcihwcm9wczogQWlkZXZvcHNUcmlnZ2VyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmFpZGV2b3BzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFnZW50c3BhY2UvJHtwcm9wcy5hZ2VudFNwYWNlSWR9L3RyaWdnZXIvJHtwcm9wcy50cmlnZ2VySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRyaWdnZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRyaWdnZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVHJpZ2dlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cmlnZ2VyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRyaWdnZXJBcm4oYXJuOiBzdHJpbmcpOiBBaWRldm9wc1RyaWdnZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRyaWdnZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJpZ2dlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhZ2VudFNwYWNlSWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRTcGFjZUlkLFxuXHRcdFx0dHJpZ2dlcklkOiBtYXRjaC5ncm91cHMhLnRyaWdnZXJJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBhaWRldm9wcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFpZGV2b3BzT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkFzc29jaWF0ZVNlcnZpY2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBZ2VudFNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRTcGFjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpDcmVhdGVBZ2VudFNwYWNlXCIsXG5cdFx0XCJhaWRldm9wczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBc3NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc2V0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBc3NldEZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBc3NldEZpbGU6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJhY2tsb2dUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmFja2xvZ1Rhc2s6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNoYXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDaGF0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByaXZhdGVDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdFx0XCJhaWRldm9wczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmlnZ2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpZ2dlcjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50U3BhY2U6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6RGVsZXRlQWdlbnRTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXNzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NldDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXNzZXRGaWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzZXRGaWxlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByaXZhdGVDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkRlbGV0ZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmlnZ2VyOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOkRlcmVnaXN0ZXJTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVPcGVyYXRvckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVPcGVyYXRvckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpEaXNhYmxlT3BlcmF0b3JBcHBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6RGlzYXNzb2NpYXRlU2VydmljZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVPcGVyYXRvckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZU9wZXJhdG9yQXBwOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkVuYWJsZU9wZXJhdG9yQXBwXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWNjb3VudFVzYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBY2NvdW50VXNhZ2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50U3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50U3BhY2U6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6R2V0QWdlbnRTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXNzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFzc2V0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBc3NldENvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFzc2V0Q29udGVudDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXNzZXRGaWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBc3NldEZpbGU6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXCJhaWRldm9wczpHZXRBc3NvY2lhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QmFja2xvZ1Rhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJhY2tsb2dUYXNrOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcGVyYXRvckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T3BlcmF0b3JBcHA6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6R2V0T3BlcmF0b3JBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VydmljZTogc3RyaW5nW10gPSBbXCJhaWRldm9wczpHZXRTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUcmlnZ2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUcmlnZ2VyOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRTcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRTcGFjZXM6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6TGlzdEFnZW50U3BhY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXRGaWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldEZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXRUeXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldFR5cGVzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXRWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldFZlcnNpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2V0czogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6TGlzdEFzc29jaWF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJhY2tsb2dUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCYWNrbG9nVGFza3M6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDaGF0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDaGF0czogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhlY3V0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEdvYWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdvYWxzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Sm91cm5hbFJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm91cm5hbFJlY29yZHM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQZW5kaW5nTWVzc2FnZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGVuZGluZ01lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJpdmF0ZUNvbm5lY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaXZhdGVDb25uZWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpMaXN0UHJpdmF0ZUNvbm5lY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXM6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6TGlzdFNlcnZpY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlnZ2VycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmlnZ2Vyczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdlYmhvb2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdlYmhvb2tzOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOkxpc3RXZWJob29rc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYWlkZXZvcHM6UmVnaXN0ZXJTZXJ2aWNlXCIsXG5cdFx0XCJhaWRldm9wczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kTWVzc2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRNZXNzYWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJhaWRldm9wczpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBZ2VudFNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRTcGFjZTogc3RyaW5nW10gPSBbXCJhaWRldm9wczpVcGRhdGVBZ2VudFNwYWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcHByb3ZhbEFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcHJvdmFsQWN0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBc3NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc2V0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBc3NldEZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NldEZpbGU6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJhaWRldm9wczpVcGRhdGVBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVCYWNrbG9nVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJhY2tsb2dUYXNrOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHb2FsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlR29hbDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlT3BlcmF0b3JBcHBJZHBDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPcGVyYXRvckFwcElkcENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpVcGRhdGVPcGVyYXRvckFwcElkcENvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlnZ2VyOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBWYWxpZGF0ZUF3c0Fzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlQXdzQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOlZhbGlkYXRlQXdzQXNzb2NpYXRpb25zXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBhaWRldm9wcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFpZGV2b3BzQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBZ2VudFNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50U3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUJhY2tsb2dUYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJhY2tsb2dUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpTb3VyY2VBZ2VudFNwYWNlQXJuXCIsXG5cdFx0XCJhaWRldm9wczpUYXJnZXRBZ2VudFNwYWNlQXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQWdlbnRTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVyZWdpc3RlclNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclNlcnZpY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlUHJpdmF0ZUNvbm5lY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0QWdlbnRTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRBc3NldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3NldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6U291cmNlQWdlbnRTcGFjZUFyblwiLFxuXHRcdFwiYWlkZXZvcHM6VGFyZ2V0QWdlbnRTcGFjZUFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0QXNzZXRDb250ZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFzc2V0Q29udGVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6U291cmNlQWdlbnRTcGFjZUFyblwiLFxuXHRcdFwiYWlkZXZvcHM6VGFyZ2V0QWdlbnRTcGFjZUFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0QXNzZXRGaWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFzc2V0RmlsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6U291cmNlQWdlbnRTcGFjZUFyblwiLFxuXHRcdFwiYWlkZXZvcHM6VGFyZ2V0QWdlbnRTcGFjZUFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0QmFja2xvZ1Rhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmFja2xvZ1Rhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOlNvdXJjZUFnZW50U3BhY2VBcm5cIixcblx0XHRcImFpZGV2b3BzOlRhcmdldEFnZW50U3BhY2VBcm5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEFzc2V0RmlsZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2V0RmlsZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOlNvdXJjZUFnZW50U3BhY2VBcm5cIixcblx0XHRcImFpZGV2b3BzOlRhcmdldEFnZW50U3BhY2VBcm5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RBc3NldHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2V0c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6U291cmNlQWdlbnRTcGFjZUFyblwiLFxuXHRcdFwiYWlkZXZvcHM6VGFyZ2V0QWdlbnRTcGFjZUFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEJhY2tsb2dUYXNrcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmFja2xvZ1Rhc2tzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpTb3VyY2VBZ2VudFNwYWNlQXJuXCIsXG5cdFx0XCJhaWRldm9wczpUYXJnZXRBZ2VudFNwYWNlQXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RXhlY3V0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhlY3V0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6U291cmNlQWdlbnRTcGFjZUFyblwiLFxuXHRcdFwiYWlkZXZvcHM6VGFyZ2V0QWdlbnRTcGFjZUFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEpvdXJuYWxSZWNvcmRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb3VybmFsUmVjb3Jkc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6U291cmNlQWdlbnRTcGFjZUFyblwiLFxuXHRcdFwiYWlkZXZvcHM6VGFyZ2V0QWdlbnRTcGFjZUFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3RlclNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJTZXJ2aWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQWdlbnRTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYWlkZXZvcHM6U291cmNlQWdlbnRTcGFjZUFybiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU09VUkNFX0FHRU5UX1NQQUNFX0FSTiA9IFwiYWlkZXZvcHM6U291cmNlQWdlbnRTcGFjZUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYWlkZXZvcHM6VGFyZ2V0QWdlbnRTcGFjZUFybiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFSR0VUX0FHRU5UX1NQQUNFX0FSTiA9IFwiYWlkZXZvcHM6VGFyZ2V0QWdlbnRTcGFjZUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGFpZGV2b3BzOlNvdXJjZUFnZW50U3BhY2VBcm5gLlxuXHQgKi9cblx0c3RhdGljIHNvdXJjZUFnZW50U3BhY2VBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImFpZGV2b3BzOlNvdXJjZUFnZW50U3BhY2VBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGFpZGV2b3BzOlRhcmdldEFnZW50U3BhY2VBcm5gLlxuXHQgKi9cblx0c3RhdGljIHRhcmdldEFnZW50U3BhY2VBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImFpZGV2b3BzOlRhcmdldEFnZW50U3BhY2VBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
@@ -16,7 +16,7 @@ class AiopsActions {
16
16
  }
17
17
  exports.AiopsActions = AiopsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- AiopsActions[_a] = { fqn: "@cdk_utils/iam.aiops.AiopsActions", version: "1.20.0" };
19
+ AiopsActions[_a] = { fqn: "@cdk_utils/iam.aiops.AiopsActions", version: "1.22.0" };
20
20
  /** The IAM service prefix. */
21
21
  AiopsActions.SERVICE_PREFIX = "aiops";
22
22
  /** [Write] aiops:CreateInvestigation */
@@ -168,7 +168,7 @@ class AiopsResources {
168
168
  }
169
169
  exports.AiopsResources = AiopsResources;
170
170
  _b = JSII_RTTI_SYMBOL_1;
171
- AiopsResources[_b] = { fqn: "@cdk_utils/iam.aiops.AiopsResources", version: "1.20.0" };
171
+ AiopsResources[_b] = { fqn: "@cdk_utils/iam.aiops.AiopsResources", version: "1.22.0" };
172
172
  /**
173
173
  * API operation to required IAM actions mapping for aiops.
174
174
  */
@@ -176,7 +176,7 @@ class AiopsOperations {
176
176
  }
177
177
  exports.AiopsOperations = AiopsOperations;
178
178
  _c = JSII_RTTI_SYMBOL_1;
179
- AiopsOperations[_c] = { fqn: "@cdk_utils/iam.aiops.AiopsOperations", version: "1.20.0" };
179
+ AiopsOperations[_c] = { fqn: "@cdk_utils/iam.aiops.AiopsOperations", version: "1.22.0" };
180
180
  /** IAM actions required for the CreateInvestigationGroup API call. */
181
181
  AiopsOperations.CreateInvestigationGroup = [
182
182
  "aiops:CreateInvestigationGroup",
@@ -243,7 +243,7 @@ class AiopsConditions {
243
243
  }
244
244
  exports.AiopsConditions = AiopsConditions;
245
245
  _d = JSII_RTTI_SYMBOL_1;
246
- AiopsConditions[_d] = { fqn: "@cdk_utils/iam.aiops.AiopsConditions", version: "1.20.0" };
246
+ AiopsConditions[_d] = { fqn: "@cdk_utils/iam.aiops.AiopsConditions", version: "1.22.0" };
247
247
  /** Condition keys applicable to the CreateInvestigationGroup action. */
248
248
  AiopsConditions.CreateInvestigationGroupConditionKeys = [
249
249
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class AirflowServerlessActions {
16
16
  }
17
17
  exports.AirflowServerlessActions = AirflowServerlessActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- AirflowServerlessActions[_a] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessActions", version: "1.20.0" };
19
+ AirflowServerlessActions[_a] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessActions", version: "1.22.0" };
20
20
  /** The IAM service prefix. */
21
21
  AirflowServerlessActions.SERVICE_PREFIX = "airflow-serverless";
22
22
  /** [Write] airflow-serverless:CreateWorkflow */
@@ -114,7 +114,7 @@ class AirflowServerlessResources {
114
114
  }
115
115
  exports.AirflowServerlessResources = AirflowServerlessResources;
116
116
  _b = JSII_RTTI_SYMBOL_1;
117
- AirflowServerlessResources[_b] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessResources", version: "1.20.0" };
117
+ AirflowServerlessResources[_b] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessResources", version: "1.22.0" };
118
118
  /**
119
119
  * API operation to required IAM actions mapping for airflow-serverless.
120
120
  */
@@ -122,7 +122,7 @@ class AirflowServerlessOperations {
122
122
  }
123
123
  exports.AirflowServerlessOperations = AirflowServerlessOperations;
124
124
  _c = JSII_RTTI_SYMBOL_1;
125
- AirflowServerlessOperations[_c] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessOperations", version: "1.20.0" };
125
+ AirflowServerlessOperations[_c] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessOperations", version: "1.22.0" };
126
126
  /** IAM actions required for the CreateWorkflow API call. */
127
127
  AirflowServerlessOperations.CreateWorkflow = [
128
128
  "airflow-serverless:CreateWorkflow",
@@ -207,7 +207,7 @@ class AirflowServerlessConditions {
207
207
  }
208
208
  exports.AirflowServerlessConditions = AirflowServerlessConditions;
209
209
  _d = JSII_RTTI_SYMBOL_1;
210
- AirflowServerlessConditions[_d] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessConditions", version: "1.20.0" };
210
+ AirflowServerlessConditions[_d] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessConditions", version: "1.22.0" };
211
211
  /** Condition keys applicable to the CreateWorkflow action. */
212
212
  AirflowServerlessConditions.CreateWorkflowConditionKeys = [
213
213
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class AirflowActions {
16
16
  }
17
17
  exports.AirflowActions = AirflowActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- AirflowActions[_a] = { fqn: "@cdk_utils/iam.airflow.AirflowActions", version: "1.20.0" };
19
+ AirflowActions[_a] = { fqn: "@cdk_utils/iam.airflow.AirflowActions", version: "1.22.0" };
20
20
  /** The IAM service prefix. */
21
21
  AirflowActions.SERVICE_PREFIX = "airflow";
22
22
  /** [Write] airflow:CreateCliToken */
@@ -133,7 +133,7 @@ class AirflowResources {
133
133
  }
134
134
  exports.AirflowResources = AirflowResources;
135
135
  _b = JSII_RTTI_SYMBOL_1;
136
- AirflowResources[_b] = { fqn: "@cdk_utils/iam.airflow.AirflowResources", version: "1.20.0" };
136
+ AirflowResources[_b] = { fqn: "@cdk_utils/iam.airflow.AirflowResources", version: "1.22.0" };
137
137
  /**
138
138
  * API operation to required IAM actions mapping for airflow.
139
139
  */
@@ -141,7 +141,7 @@ class AirflowOperations {
141
141
  }
142
142
  exports.AirflowOperations = AirflowOperations;
143
143
  _c = JSII_RTTI_SYMBOL_1;
144
- AirflowOperations[_c] = { fqn: "@cdk_utils/iam.airflow.AirflowOperations", version: "1.20.0" };
144
+ AirflowOperations[_c] = { fqn: "@cdk_utils/iam.airflow.AirflowOperations", version: "1.22.0" };
145
145
  /** IAM actions required for the CreateCliToken API call. */
146
146
  AirflowOperations.CreateCliToken = ["airflow:CreateCliToken"];
147
147
  /** IAM actions required for the CreateEnvironment API call. */
@@ -232,7 +232,7 @@ class AirflowConditions {
232
232
  }
233
233
  exports.AirflowConditions = AirflowConditions;
234
234
  _d = JSII_RTTI_SYMBOL_1;
235
- AirflowConditions[_d] = { fqn: "@cdk_utils/iam.airflow.AirflowConditions", version: "1.20.0" };
235
+ AirflowConditions[_d] = { fqn: "@cdk_utils/iam.airflow.AirflowConditions", version: "1.22.0" };
236
236
  /** Condition keys applicable to the CreateEnvironment action. */
237
237
  AirflowConditions.CreateEnvironmentConditionKeys = [
238
238
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class AmplifyActions {
16
16
  }
17
17
  exports.AmplifyActions = AmplifyActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- AmplifyActions[_a] = { fqn: "@cdk_utils/iam.amplify.AmplifyActions", version: "1.20.0" };
19
+ AmplifyActions[_a] = { fqn: "@cdk_utils/iam.amplify.AmplifyActions", version: "1.22.0" };
20
20
  /** The IAM service prefix. */
21
21
  AmplifyActions.SERVICE_PREFIX = "amplify";
22
22
  /** [Write] amplify:AssociateWebACL */
@@ -312,7 +312,7 @@ class AmplifyResources {
312
312
  }
313
313
  exports.AmplifyResources = AmplifyResources;
314
314
  _b = JSII_RTTI_SYMBOL_1;
315
- AmplifyResources[_b] = { fqn: "@cdk_utils/iam.amplify.AmplifyResources", version: "1.20.0" };
315
+ AmplifyResources[_b] = { fqn: "@cdk_utils/iam.amplify.AmplifyResources", version: "1.22.0" };
316
316
  /**
317
317
  * API operation to required IAM actions mapping for amplify.
318
318
  */
@@ -320,7 +320,7 @@ class AmplifyOperations {
320
320
  }
321
321
  exports.AmplifyOperations = AmplifyOperations;
322
322
  _c = JSII_RTTI_SYMBOL_1;
323
- AmplifyOperations[_c] = { fqn: "@cdk_utils/iam.amplify.AmplifyOperations", version: "1.20.0" };
323
+ AmplifyOperations[_c] = { fqn: "@cdk_utils/iam.amplify.AmplifyOperations", version: "1.22.0" };
324
324
  /** IAM actions required for the CreateApp API call. */
325
325
  AmplifyOperations.CreateApp = [
326
326
  "amplify:CreateApp",
@@ -453,7 +453,7 @@ class AmplifyConditions {
453
453
  }
454
454
  exports.AmplifyConditions = AmplifyConditions;
455
455
  _d = JSII_RTTI_SYMBOL_1;
456
- AmplifyConditions[_d] = { fqn: "@cdk_utils/iam.amplify.AmplifyConditions", version: "1.20.0" };
456
+ AmplifyConditions[_d] = { fqn: "@cdk_utils/iam.amplify.AmplifyConditions", version: "1.22.0" };
457
457
  /** Condition keys applicable to the CreateApp action. */
458
458
  AmplifyConditions.CreateAppConditionKeys = [
459
459
  "aws:RequestTag/${TagKey}",