@cdk_utils/iam 1.6.0 → 1.7.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 (462) hide show
  1. package/.jsii +8870 -7629
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +4 -4
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +4 -4
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +4 -4
  64. package/lib/generated/services/bedrock-mantle.js +3 -3
  65. package/lib/generated/services/bedrock-websearch.js +2 -2
  66. package/lib/generated/services/bedrock.d.ts +4 -0
  67. package/lib/generated/services/bedrock.js +11 -5
  68. package/lib/generated/services/billing.js +4 -4
  69. package/lib/generated/services/billingconductor.js +4 -4
  70. package/lib/generated/services/braket.js +4 -4
  71. package/lib/generated/services/budgets.js +4 -4
  72. package/lib/generated/services/bugbust.js +3 -3
  73. package/lib/generated/services/cases.js +4 -4
  74. package/lib/generated/services/cassandra.js +4 -4
  75. package/lib/generated/services/ce.js +4 -4
  76. package/lib/generated/services/chatbot.js +4 -4
  77. package/lib/generated/services/chime.js +4 -4
  78. package/lib/generated/services/cleanrooms-ml.js +4 -4
  79. package/lib/generated/services/cleanrooms.js +4 -4
  80. package/lib/generated/services/cloud9.js +4 -4
  81. package/lib/generated/services/clouddirectory.js +3 -3
  82. package/lib/generated/services/cloudformation.js +4 -4
  83. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  84. package/lib/generated/services/cloudfront.js +4 -4
  85. package/lib/generated/services/cloudhsm.js +4 -4
  86. package/lib/generated/services/cloudsearch.js +3 -3
  87. package/lib/generated/services/cloudshell.js +3 -3
  88. package/lib/generated/services/cloudtrail-data.js +4 -4
  89. package/lib/generated/services/cloudtrail.js +4 -4
  90. package/lib/generated/services/cloudwatch.js +4 -4
  91. package/lib/generated/services/codeartifact.js +4 -4
  92. package/lib/generated/services/codebuild.js +4 -4
  93. package/lib/generated/services/codecatalyst.js +4 -4
  94. package/lib/generated/services/codecommit.js +4 -4
  95. package/lib/generated/services/codeconnections.js +4 -4
  96. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  97. package/lib/generated/services/codedeploy.js +4 -4
  98. package/lib/generated/services/codeguru-profiler.js +4 -4
  99. package/lib/generated/services/codeguru-reviewer.js +4 -4
  100. package/lib/generated/services/codeguru-security.js +4 -4
  101. package/lib/generated/services/codeguru.js +1 -1
  102. package/lib/generated/services/codepipeline.js +4 -4
  103. package/lib/generated/services/codestar-connections.js +4 -4
  104. package/lib/generated/services/codestar-notifications.js +4 -4
  105. package/lib/generated/services/codestar.js +3 -3
  106. package/lib/generated/services/codewhisperer.js +3 -3
  107. package/lib/generated/services/cognito-identity.js +4 -4
  108. package/lib/generated/services/cognito-idp.js +4 -4
  109. package/lib/generated/services/cognito-sync.js +3 -3
  110. package/lib/generated/services/comprehend.js +4 -4
  111. package/lib/generated/services/comprehendmedical.js +3 -3
  112. package/lib/generated/services/compute-optimizer.js +3 -3
  113. package/lib/generated/services/config.js +4 -4
  114. package/lib/generated/services/connect-campaigns.js +4 -4
  115. package/lib/generated/services/connect.js +9 -6
  116. package/lib/generated/services/consoleapp.js +2 -2
  117. package/lib/generated/services/consolidatedbilling.js +1 -1
  118. package/lib/generated/services/controlcatalog.js +3 -3
  119. package/lib/generated/services/controltower.js +4 -4
  120. package/lib/generated/services/cost-optimization-hub.js +2 -2
  121. package/lib/generated/services/cur.js +4 -4
  122. package/lib/generated/services/customer-verification.js +1 -1
  123. package/lib/generated/services/databrew.js +4 -4
  124. package/lib/generated/services/dataexchange.js +11 -6
  125. package/lib/generated/services/datapipeline.js +4 -4
  126. package/lib/generated/services/datasync.js +4 -4
  127. package/lib/generated/services/datazone.js +4 -4
  128. package/lib/generated/services/dax.js +4 -4
  129. package/lib/generated/services/dbqms.js +1 -1
  130. package/lib/generated/services/deadline.js +4 -4
  131. package/lib/generated/services/detective.js +4 -4
  132. package/lib/generated/services/devicefarm.js +4 -4
  133. package/lib/generated/services/devops-guru.js +4 -4
  134. package/lib/generated/services/directconnect.js +4 -4
  135. package/lib/generated/services/discovery.js +3 -3
  136. package/lib/generated/services/dlm.js +4 -4
  137. package/lib/generated/services/dms.js +4 -4
  138. package/lib/generated/services/docdb-elastic.js +4 -4
  139. package/lib/generated/services/drs.js +4 -4
  140. package/lib/generated/services/ds-data.js +4 -4
  141. package/lib/generated/services/ds.js +4 -4
  142. package/lib/generated/services/dsql.js +4 -4
  143. package/lib/generated/services/dynamodb.js +4 -4
  144. package/lib/generated/services/ebs.js +4 -4
  145. package/lib/generated/services/ec2-instance-connect.js +4 -4
  146. package/lib/generated/services/ec2.d.ts +95 -0
  147. package/lib/generated/services/ec2.js +161 -19
  148. package/lib/generated/services/ec2messages.js +2 -2
  149. package/lib/generated/services/ecr-public.js +4 -4
  150. package/lib/generated/services/ecr.js +4 -4
  151. package/lib/generated/services/ecs-mcp.js +1 -1
  152. package/lib/generated/services/ecs.js +4 -4
  153. package/lib/generated/services/eks-auth.js +4 -4
  154. package/lib/generated/services/eks-mcp.js +1 -1
  155. package/lib/generated/services/eks.d.ts +20 -0
  156. package/lib/generated/services/eks.js +40 -5
  157. package/lib/generated/services/elasticache.js +4 -4
  158. package/lib/generated/services/elasticbeanstalk.js +4 -4
  159. package/lib/generated/services/elasticfilesystem.js +4 -4
  160. package/lib/generated/services/elasticloadbalancing.js +4 -4
  161. package/lib/generated/services/elasticmapreduce.js +4 -4
  162. package/lib/generated/services/elastictranscoder.js +2 -2
  163. package/lib/generated/services/elemental-activations.js +1 -1
  164. package/lib/generated/services/elemental-appliances-software.js +2 -2
  165. package/lib/generated/services/elemental-inference.js +4 -4
  166. package/lib/generated/services/elemental-support-cases.js +3 -3
  167. package/lib/generated/services/elemental-support-content.js +1 -1
  168. package/lib/generated/services/emr-containers.js +4 -4
  169. package/lib/generated/services/emr-serverless.js +4 -4
  170. package/lib/generated/services/entityresolution.js +4 -4
  171. package/lib/generated/services/es.js +4 -4
  172. package/lib/generated/services/events.js +4 -4
  173. package/lib/generated/services/eventsbilltoaws.js +3 -3
  174. package/lib/generated/services/evidently.js +3 -3
  175. package/lib/generated/services/evs.js +4 -4
  176. package/lib/generated/services/execute-api.js +4 -4
  177. package/lib/generated/services/finops-agent.js +1 -1
  178. package/lib/generated/services/finspace-api.js +3 -3
  179. package/lib/generated/services/finspace.js +4 -4
  180. package/lib/generated/services/firehose.js +4 -4
  181. package/lib/generated/services/fis.js +4 -4
  182. package/lib/generated/services/fms.js +4 -4
  183. package/lib/generated/services/forecast.js +4 -4
  184. package/lib/generated/services/frauddetector.js +4 -4
  185. package/lib/generated/services/freertos.js +3 -3
  186. package/lib/generated/services/freetier.js +2 -2
  187. package/lib/generated/services/fsx.js +4 -4
  188. package/lib/generated/services/gamelift.js +4 -4
  189. package/lib/generated/services/gameliftstreams.js +4 -4
  190. package/lib/generated/services/geo-maps.js +3 -3
  191. package/lib/generated/services/geo-places.js +3 -3
  192. package/lib/generated/services/geo-routes.js +3 -3
  193. package/lib/generated/services/geo.js +4 -4
  194. package/lib/generated/services/glacier.js +4 -4
  195. package/lib/generated/services/globalaccelerator.js +4 -4
  196. package/lib/generated/services/glue.js +4 -4
  197. package/lib/generated/services/grafana.js +4 -4
  198. package/lib/generated/services/greengrass.js +4 -4
  199. package/lib/generated/services/groundstation.js +4 -4
  200. package/lib/generated/services/groundtruthlabeling.js +1 -1
  201. package/lib/generated/services/guardduty.js +4 -4
  202. package/lib/generated/services/health-agent.js +4 -4
  203. package/lib/generated/services/health.js +4 -4
  204. package/lib/generated/services/healthlake.js +4 -4
  205. package/lib/generated/services/honeycode.js +2 -2
  206. package/lib/generated/services/iam.js +4 -4
  207. package/lib/generated/services/identity-sync.js +2 -2
  208. package/lib/generated/services/identitystore-auth.js +1 -1
  209. package/lib/generated/services/identitystore.js +4 -4
  210. package/lib/generated/services/imagebuilder.js +4 -4
  211. package/lib/generated/services/importexport.js +2 -2
  212. package/lib/generated/services/inspector-scan.js +2 -2
  213. package/lib/generated/services/inspector.js +2 -2
  214. package/lib/generated/services/inspector2-telemetry.js +1 -1
  215. package/lib/generated/services/inspector2.js +4 -4
  216. package/lib/generated/services/interconnect.js +4 -4
  217. package/lib/generated/services/internetmonitor.js +4 -4
  218. package/lib/generated/services/invoicing.js +4 -4
  219. package/lib/generated/services/iot-device-tester.js +1 -1
  220. package/lib/generated/services/iot.js +4 -4
  221. package/lib/generated/services/iotanalytics.js +3 -3
  222. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  223. package/lib/generated/services/iotevents.js +3 -3
  224. package/lib/generated/services/iotfleethub.js +3 -3
  225. package/lib/generated/services/iotfleetwise.js +4 -4
  226. package/lib/generated/services/iotjobsdata.js +4 -4
  227. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  228. package/lib/generated/services/iotsitewise.js +4 -4
  229. package/lib/generated/services/iottwinmaker.js +4 -4
  230. package/lib/generated/services/iotwireless.js +4 -4
  231. package/lib/generated/services/iq-permission.js +2 -2
  232. package/lib/generated/services/iq.js +2 -2
  233. package/lib/generated/services/ivs.js +4 -4
  234. package/lib/generated/services/ivschat.js +4 -4
  235. package/lib/generated/services/kafka-cluster.js +3 -3
  236. package/lib/generated/services/kafka.js +4 -4
  237. package/lib/generated/services/kafkaconnect.js +4 -4
  238. package/lib/generated/services/kendra-ranking.js +4 -4
  239. package/lib/generated/services/kendra.js +4 -4
  240. package/lib/generated/services/kinesis.js +4 -4
  241. package/lib/generated/services/kinesisanalytics.js +4 -4
  242. package/lib/generated/services/kinesisvideo.js +4 -4
  243. package/lib/generated/services/kms.js +4 -4
  244. package/lib/generated/services/lakeformation.js +3 -3
  245. package/lib/generated/services/lambda.js +4 -4
  246. package/lib/generated/services/launchwizard.js +4 -4
  247. package/lib/generated/services/lex.js +4 -4
  248. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  249. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  250. package/lib/generated/services/license-manager.js +4 -4
  251. package/lib/generated/services/lightsail.js +4 -4
  252. package/lib/generated/services/logs.js +4 -4
  253. package/lib/generated/services/lookoutequipment.js +4 -4
  254. package/lib/generated/services/lookoutmetrics.js +3 -3
  255. package/lib/generated/services/lookoutvision.js +3 -3
  256. package/lib/generated/services/m2.js +4 -4
  257. package/lib/generated/services/machinelearning.js +3 -3
  258. package/lib/generated/services/macie2.js +4 -4
  259. package/lib/generated/services/managedblockchain-query.js +2 -2
  260. package/lib/generated/services/managedblockchain.js +4 -4
  261. package/lib/generated/services/mapcredits.js +2 -2
  262. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  263. package/lib/generated/services/mechanicalturk.js +2 -2
  264. package/lib/generated/services/mediaconnect.js +4 -4
  265. package/lib/generated/services/mediaconvert.js +4 -4
  266. package/lib/generated/services/mediaimport.js +1 -1
  267. package/lib/generated/services/medialive.js +4 -4
  268. package/lib/generated/services/mediapackage-vod.js +4 -4
  269. package/lib/generated/services/mediapackage.js +4 -4
  270. package/lib/generated/services/mediapackagev2.js +4 -4
  271. package/lib/generated/services/mediastore.js +4 -4
  272. package/lib/generated/services/mediatailor.js +4 -4
  273. package/lib/generated/services/medical-imaging.js +4 -4
  274. package/lib/generated/services/memorydb.js +4 -4
  275. package/lib/generated/services/mgh.js +4 -4
  276. package/lib/generated/services/mgn.js +4 -4
  277. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  278. package/lib/generated/services/migrationhub-strategy.js +2 -2
  279. package/lib/generated/services/mobileanalytics.js +1 -1
  280. package/lib/generated/services/mobiletargeting.js +4 -4
  281. package/lib/generated/services/monitron.js +3 -3
  282. package/lib/generated/services/mpa.js +4 -4
  283. package/lib/generated/services/mq.js +4 -4
  284. package/lib/generated/services/neptune-db.js +4 -4
  285. package/lib/generated/services/neptune-graph.js +4 -4
  286. package/lib/generated/services/network-firewall.js +4 -4
  287. package/lib/generated/services/network-security-director.js +1 -1
  288. package/lib/generated/services/networkflowmonitor.js +4 -4
  289. package/lib/generated/services/networkmanager-chat.js +1 -1
  290. package/lib/generated/services/networkmanager.js +4 -4
  291. package/lib/generated/services/networkmonitor.js +4 -4
  292. package/lib/generated/services/nimble.js +3 -3
  293. package/lib/generated/services/notifications-contacts.js +4 -4
  294. package/lib/generated/services/notifications.js +4 -4
  295. package/lib/generated/services/nova-act.js +3 -3
  296. package/lib/generated/services/oam.js +4 -4
  297. package/lib/generated/services/observabilityadmin.js +4 -4
  298. package/lib/generated/services/odb.js +4 -4
  299. package/lib/generated/services/omics.js +4 -4
  300. package/lib/generated/services/one.js +3 -3
  301. package/lib/generated/services/opensearch.js +3 -3
  302. package/lib/generated/services/opsworks-cm.js +2 -2
  303. package/lib/generated/services/opsworks.js +2 -2
  304. package/lib/generated/services/organizations.js +4 -4
  305. package/lib/generated/services/osis.js +4 -4
  306. package/lib/generated/services/outposts.js +4 -4
  307. package/lib/generated/services/panorama.js +3 -3
  308. package/lib/generated/services/partnercentral-account-management.js +2 -2
  309. package/lib/generated/services/partnercentral.js +4 -4
  310. package/lib/generated/services/payment-cryptography.js +4 -4
  311. package/lib/generated/services/payments.js +3 -3
  312. package/lib/generated/services/pca-connector-ad.js +4 -4
  313. package/lib/generated/services/pca-connector-scep.js +4 -4
  314. package/lib/generated/services/pcs.js +4 -4
  315. package/lib/generated/services/personalize.js +4 -4
  316. package/lib/generated/services/pi.js +4 -4
  317. package/lib/generated/services/pipes.js +4 -4
  318. package/lib/generated/services/polly.js +3 -3
  319. package/lib/generated/services/pricing.js +2 -2
  320. package/lib/generated/services/pricingplanmanager.js +3 -3
  321. package/lib/generated/services/private-networks.js +3 -3
  322. package/lib/generated/services/profile.js +4 -4
  323. package/lib/generated/services/proton.js +4 -4
  324. package/lib/generated/services/purchase-orders.js +3 -3
  325. package/lib/generated/services/q.js +3 -3
  326. package/lib/generated/services/qapps.js +4 -4
  327. package/lib/generated/services/qbusiness.js +4 -4
  328. package/lib/generated/services/qdeveloper.js +3 -3
  329. package/lib/generated/services/qldb.js +3 -3
  330. package/lib/generated/services/quicksight.js +9 -6
  331. package/lib/generated/services/ram.js +4 -4
  332. package/lib/generated/services/rbin.js +4 -4
  333. package/lib/generated/services/rds-data.js +4 -4
  334. package/lib/generated/services/rds-db.js +2 -2
  335. package/lib/generated/services/rds.js +4 -4
  336. package/lib/generated/services/redshift-data.js +4 -4
  337. package/lib/generated/services/redshift-serverless.js +4 -4
  338. package/lib/generated/services/redshift.js +4 -4
  339. package/lib/generated/services/refactor-spaces.js +4 -4
  340. package/lib/generated/services/rekognition.js +4 -4
  341. package/lib/generated/services/repostspace.js +4 -4
  342. package/lib/generated/services/researchstudio.js +1 -1
  343. package/lib/generated/services/resiliencehub.js +4 -4
  344. package/lib/generated/services/resource-explorer-2.js +4 -4
  345. package/lib/generated/services/resource-explorer.js +1 -1
  346. package/lib/generated/services/resource-groups.js +4 -4
  347. package/lib/generated/services/rhelkb.js +1 -1
  348. package/lib/generated/services/robomaker.js +3 -3
  349. package/lib/generated/services/rolesanywhere.js +4 -4
  350. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  351. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  352. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  353. package/lib/generated/services/route53.js +4 -4
  354. package/lib/generated/services/route53domains.js +2 -2
  355. package/lib/generated/services/route53globalresolver.js +4 -4
  356. package/lib/generated/services/route53profiles.js +4 -4
  357. package/lib/generated/services/route53resolver.js +4 -4
  358. package/lib/generated/services/rtbfabric.js +4 -4
  359. package/lib/generated/services/rum.js +4 -4
  360. package/lib/generated/services/s3-object-lambda.js +3 -3
  361. package/lib/generated/services/s3-outposts.js +4 -4
  362. package/lib/generated/services/s3.js +4 -4
  363. package/lib/generated/services/s3express.js +3 -3
  364. package/lib/generated/services/s3files.js +4 -4
  365. package/lib/generated/services/s3tables.js +4 -4
  366. package/lib/generated/services/s3vectors.js +4 -4
  367. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  368. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  369. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  370. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  371. package/lib/generated/services/sagemaker.js +4 -4
  372. package/lib/generated/services/savingsplans.js +4 -4
  373. package/lib/generated/services/scheduler.js +4 -4
  374. package/lib/generated/services/schemas.js +4 -4
  375. package/lib/generated/services/scn.js +4 -4
  376. package/lib/generated/services/sdb.js +3 -3
  377. package/lib/generated/services/secretsmanager.js +4 -4
  378. package/lib/generated/services/security-ir.js +4 -4
  379. package/lib/generated/services/securityagent.js +4 -4
  380. package/lib/generated/services/securityhub.js +4 -4
  381. package/lib/generated/services/securitylake.js +4 -4
  382. package/lib/generated/services/serverlessrepo.js +4 -4
  383. package/lib/generated/services/servicecatalog.js +4 -4
  384. package/lib/generated/services/servicediscovery.js +4 -4
  385. package/lib/generated/services/serviceextract.js +1 -1
  386. package/lib/generated/services/servicequotas.js +4 -4
  387. package/lib/generated/services/ses.js +4 -4
  388. package/lib/generated/services/shield.js +4 -4
  389. package/lib/generated/services/signer.js +4 -4
  390. package/lib/generated/services/signin.js +4 -4
  391. package/lib/generated/services/simspaceweaver.js +3 -3
  392. package/lib/generated/services/sms-voice.js +4 -4
  393. package/lib/generated/services/sms.js +1 -1
  394. package/lib/generated/services/snow-device-management.js +4 -4
  395. package/lib/generated/services/snowball.js +2 -2
  396. package/lib/generated/services/sns.js +4 -4
  397. package/lib/generated/services/social-messaging.js +4 -4
  398. package/lib/generated/services/sqlworkbench.js +3 -3
  399. package/lib/generated/services/sqs.js +4 -4
  400. package/lib/generated/services/ssm-contacts.js +4 -4
  401. package/lib/generated/services/ssm-guiconnect.js +2 -2
  402. package/lib/generated/services/ssm-incidents.js +4 -4
  403. package/lib/generated/services/ssm-quicksetup.js +4 -4
  404. package/lib/generated/services/ssm-sap.js +4 -4
  405. package/lib/generated/services/ssm.d.ts +20 -0
  406. package/lib/generated/services/ssm.js +39 -5
  407. package/lib/generated/services/ssmmessages.js +2 -2
  408. package/lib/generated/services/sso-directory.js +1 -1
  409. package/lib/generated/services/sso-oauth.js +3 -3
  410. package/lib/generated/services/sso.js +4 -4
  411. package/lib/generated/services/states.js +4 -4
  412. package/lib/generated/services/storagegateway.js +4 -4
  413. package/lib/generated/services/sts.js +4 -4
  414. package/lib/generated/services/support-console.js +1 -1
  415. package/lib/generated/services/support.js +2 -2
  416. package/lib/generated/services/supportapp.js +2 -2
  417. package/lib/generated/services/supportauthz.js +4 -4
  418. package/lib/generated/services/supportplans.js +1 -1
  419. package/lib/generated/services/sustainability.js +2 -2
  420. package/lib/generated/services/swf.js +4 -4
  421. package/lib/generated/services/synthetics.js +4 -4
  422. package/lib/generated/services/tag.js +2 -2
  423. package/lib/generated/services/tax.js +2 -2
  424. package/lib/generated/services/textract.js +4 -4
  425. package/lib/generated/services/thinclient.js +4 -4
  426. package/lib/generated/services/timestream-influxdb.js +4 -4
  427. package/lib/generated/services/timestream.js +4 -4
  428. package/lib/generated/services/tiros.js +1 -1
  429. package/lib/generated/services/tnb.js +4 -4
  430. package/lib/generated/services/transcribe.js +4 -4
  431. package/lib/generated/services/transfer.js +4 -4
  432. package/lib/generated/services/transform-custom.js +3 -3
  433. package/lib/generated/services/transform.js +3 -3
  434. package/lib/generated/services/translate.js +4 -4
  435. package/lib/generated/services/trustedadvisor.js +3 -3
  436. package/lib/generated/services/ts.js +3 -3
  437. package/lib/generated/services/user-subscriptions.js +2 -2
  438. package/lib/generated/services/uxc.js +2 -2
  439. package/lib/generated/services/vendor-insights.js +3 -3
  440. package/lib/generated/services/verified-access.js +1 -1
  441. package/lib/generated/services/verifiedpermissions.js +4 -4
  442. package/lib/generated/services/voiceid.js +4 -4
  443. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  444. package/lib/generated/services/vpc-lattice.js +4 -4
  445. package/lib/generated/services/vpce.js +2 -2
  446. package/lib/generated/services/waf-regional.js +4 -4
  447. package/lib/generated/services/waf.js +4 -4
  448. package/lib/generated/services/wafv2.js +4 -4
  449. package/lib/generated/services/wam.js +1 -1
  450. package/lib/generated/services/wellarchitected.js +4 -4
  451. package/lib/generated/services/wickr.js +4 -4
  452. package/lib/generated/services/wisdom.js +4 -4
  453. package/lib/generated/services/workdocs.js +3 -3
  454. package/lib/generated/services/worklink.js +3 -3
  455. package/lib/generated/services/workmail.js +4 -4
  456. package/lib/generated/services/workmailmessageflow.js +3 -3
  457. package/lib/generated/services/workspaces-instances.js +4 -4
  458. package/lib/generated/services/workspaces-web.js +4 -4
  459. package/lib/generated/services/workspaces.d.ts +4 -0
  460. package/lib/generated/services/workspaces.js +11 -5
  461. package/lib/generated/services/xray.js +4 -4
  462. package/package.json +1 -1
@@ -16,7 +16,7 @@ class WorkSpacesActions {
16
16
  }
17
17
  exports.WorkSpacesActions = WorkSpacesActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- WorkSpacesActions[_a] = { fqn: "@cdk_utils/iam.workspaces.WorkSpacesActions", version: "1.6.0" };
19
+ WorkSpacesActions[_a] = { fqn: "@cdk_utils/iam.workspaces.WorkSpacesActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  WorkSpacesActions.SERVICE_PREFIX = "workspaces";
22
22
  /** [Write] workspaces:AcceptAccountLinkInvitation */
@@ -145,6 +145,8 @@ WorkSpacesActions.ImportClientBranding = "workspaces:ImportClientBranding";
145
145
  WorkSpacesActions.ImportCustomWorkspaceImage = "workspaces:ImportCustomWorkspaceImage";
146
146
  /** [Write] workspaces:ImportWorkspaceImage */
147
147
  WorkSpacesActions.ImportWorkspaceImage = "workspaces:ImportWorkspaceImage";
148
+ /** [Write] workspaces:InvokeOnboardingAgent */
149
+ WorkSpacesActions.InvokeOnboardingAgent = "workspaces:InvokeOnboardingAgent";
148
150
  /** [Read] workspaces:InvokeTroubleshootingInvestigation */
149
151
  WorkSpacesActions.InvokeTroubleshootingInvestigation = "workspaces:InvokeTroubleshootingInvestigation";
150
152
  /** [List] workspaces:ListAccountLinks */
@@ -177,6 +179,8 @@ WorkSpacesActions.ModifyWorkspaceCreationProperties = "workspaces:ModifyWorkspac
177
179
  WorkSpacesActions.ModifyWorkspaceProperties = "workspaces:ModifyWorkspaceProperties";
178
180
  /** [Write] workspaces:ModifyWorkspaceState */
179
181
  WorkSpacesActions.ModifyWorkspaceState = "workspaces:ModifyWorkspaceState";
182
+ /** [Write] workspaces:Personalization */
183
+ WorkSpacesActions.Personalization = "workspaces:Personalization";
180
184
  /** [Write] workspaces:RebootWorkspaces */
181
185
  WorkSpacesActions.RebootWorkspaces = "workspaces:RebootWorkspaces";
182
186
  /** [Write] workspaces:RebuildWorkspaces */
@@ -275,6 +279,7 @@ WorkSpacesActions.AllWriteActions = [
275
279
  WorkSpacesActions.ImportClientBranding,
276
280
  WorkSpacesActions.ImportCustomWorkspaceImage,
277
281
  WorkSpacesActions.ImportWorkspaceImage,
282
+ WorkSpacesActions.InvokeOnboardingAgent,
278
283
  WorkSpacesActions.MigrateWorkspace,
279
284
  WorkSpacesActions.ModifyAccount,
280
285
  WorkSpacesActions.ModifyCertificateBasedAuthProperties,
@@ -286,6 +291,7 @@ WorkSpacesActions.AllWriteActions = [
286
291
  WorkSpacesActions.ModifyWorkspaceCreationProperties,
287
292
  WorkSpacesActions.ModifyWorkspaceProperties,
288
293
  WorkSpacesActions.ModifyWorkspaceState,
294
+ WorkSpacesActions.Personalization,
289
295
  WorkSpacesActions.RebootWorkspaces,
290
296
  WorkSpacesActions.RebuildWorkspaces,
291
297
  WorkSpacesActions.RegisterWorkspaceDirectory,
@@ -605,7 +611,7 @@ class WorkSpacesResources {
605
611
  }
606
612
  exports.WorkSpacesResources = WorkSpacesResources;
607
613
  _b = JSII_RTTI_SYMBOL_1;
608
- WorkSpacesResources[_b] = { fqn: "@cdk_utils/iam.workspaces.WorkSpacesResources", version: "1.6.0" };
614
+ WorkSpacesResources[_b] = { fqn: "@cdk_utils/iam.workspaces.WorkSpacesResources", version: "1.7.0" };
609
615
  /**
610
616
  * API operation to required IAM actions mapping for workspaces.
611
617
  */
@@ -613,7 +619,7 @@ class WorkSpacesOperations {
613
619
  }
614
620
  exports.WorkSpacesOperations = WorkSpacesOperations;
615
621
  _c = JSII_RTTI_SYMBOL_1;
616
- WorkSpacesOperations[_c] = { fqn: "@cdk_utils/iam.workspaces.WorkSpacesOperations", version: "1.6.0" };
622
+ WorkSpacesOperations[_c] = { fqn: "@cdk_utils/iam.workspaces.WorkSpacesOperations", version: "1.7.0" };
617
623
  /** IAM actions required for the AcceptAccountLinkInvitation API call. */
618
624
  WorkSpacesOperations.AcceptAccountLinkInvitation = [
619
625
  "workspaces:AcceptAccountLinkInvitation",
@@ -1000,7 +1006,7 @@ class WorkSpacesConditions {
1000
1006
  }
1001
1007
  exports.WorkSpacesConditions = WorkSpacesConditions;
1002
1008
  _d = JSII_RTTI_SYMBOL_1;
1003
- WorkSpacesConditions[_d] = { fqn: "@cdk_utils/iam.workspaces.WorkSpacesConditions", version: "1.6.0" };
1009
+ WorkSpacesConditions[_d] = { fqn: "@cdk_utils/iam.workspaces.WorkSpacesConditions", version: "1.7.0" };
1004
1010
  /** Condition keys applicable to the AssociateWorkspaceApplication action. */
1005
1011
  WorkSpacesConditions.AssociateWorkspaceApplicationConditionKeys = [
1006
1012
  "aws:ResourceTag/${TagKey}",
@@ -1074,4 +1080,4 @@ WorkSpacesConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
1074
1080
  WorkSpacesConditions.AWS_TAG_KEYS = "aws:TagKeys";
1075
1081
  /** Condition key: workspaces:userId (String) */
1076
1082
  WorkSpacesConditions.USER_ID = "workspaces:userId";
1077
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvd29ya3NwYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELGlEQUFpRDtBQUNqRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7O0FBQTlCLDhDQXlYQzs7O0FBeFhBLDhCQUE4QjtBQUNkLGdDQUFjLEdBQUcsWUFBWSxDQUFDO0FBRTlDLHFEQUFxRDtBQUNyQyw2Q0FBMkIsR0FDMUMsd0NBQXdDLENBQUM7QUFDMUMsa0RBQWtEO0FBQ2xDLDBDQUF3QixHQUN2QyxxQ0FBcUMsQ0FBQztBQUN2QywyQ0FBMkM7QUFDM0IsbUNBQWlCLEdBQUcsOEJBQThCLENBQUM7QUFDbkUsdURBQXVEO0FBQ3ZDLCtDQUE2QixHQUM1QywwQ0FBMEMsQ0FBQztBQUM1QywwQ0FBMEM7QUFDMUIsa0NBQWdCLEdBQUcsNkJBQTZCLENBQUM7QUFDakUsNENBQTRDO0FBQzVCLG9DQUFrQixHQUFHLCtCQUErQixDQUFDO0FBQ3JFLHFEQUFxRDtBQUNyQyw2Q0FBMkIsR0FDMUMsd0NBQXdDLENBQUM7QUFDMUMsa0RBQWtEO0FBQ2xDLDBDQUF3QixHQUN2QyxxQ0FBcUMsQ0FBQztBQUN2QywrQ0FBK0M7QUFDL0IsdUNBQXFCLEdBQUcsa0NBQWtDLENBQUM7QUFDM0UsdUNBQXVDO0FBQ3ZCLCtCQUFhLEdBQUcsMEJBQTBCLENBQUM7QUFDM0QscURBQXFEO0FBQ3JDLDZDQUEyQixHQUMxQyx3Q0FBd0MsQ0FBQztBQUMxQyxpREFBaUQ7QUFDakMseUNBQXVCLEdBQ3RDLG9DQUFvQyxDQUFDO0FBQ3RDLHNDQUFzQztBQUN0Qiw0QkFBVSxHQUFHLHVCQUF1QixDQUFDO0FBQ3JELHFEQUFxRDtBQUNyQyw2Q0FBMkIsR0FDMUMsd0NB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LCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS93b3Jrc3BhY2VzLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSB3b3Jrc3BhY2VzIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBXb3JrU3BhY2VzQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcIndvcmtzcGFjZXNcIjtcblxuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkFjY2VwdEFjY291bnRMaW5rSW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0QWNjb3VudExpbmtJbnZpdGF0aW9uID1cblx0XHRcIndvcmtzcGFjZXM6QWNjZXB0QWNjb3VudExpbmtJbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6QXNzb2NpYXRlQ29ubmVjdGlvbkFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVDb25uZWN0aW9uQWxpYXMgPVxuXHRcdFwid29ya3NwYWNlczpBc3NvY2lhdGVDb25uZWN0aW9uQWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpBc3NvY2lhdGVJcEdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlSXBHcm91cHMgPSBcIndvcmtzcGFjZXM6QXNzb2NpYXRlSXBHcm91cHNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpBc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb24gPVxuXHRcdFwid29ya3NwYWNlczpBc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkF1dGhvcml6ZUlwUnVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEF1dGhvcml6ZUlwUnVsZXMgPSBcIndvcmtzcGFjZXM6QXV0aG9yaXplSXBSdWxlc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkNvcHlXb3Jrc3BhY2VJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29weVdvcmtzcGFjZUltYWdlID0gXCJ3b3Jrc3BhY2VzOkNvcHlXb3Jrc3BhY2VJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkNyZWF0ZUFjY291bnRMaW5rSW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWNjb3VudExpbmtJbnZpdGF0aW9uID1cblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlQWNjb3VudExpbmtJbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6Q3JlYXRlQ29ubmVjdENsaWVudEFkZEluICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0Q2xpZW50QWRkSW4gPVxuXHRcdFwid29ya3NwYWNlczpDcmVhdGVDb25uZWN0Q2xpZW50QWRkSW5cIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpDcmVhdGVDb25uZWN0aW9uQWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rpb25BbGlhcyA9IFwid29ya3NwYWNlczpDcmVhdGVDb25uZWN0aW9uQWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpDcmVhdGVJcEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJcEdyb3VwID0gXCJ3b3Jrc3BhY2VzOkNyZWF0ZUlwR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpDcmVhdGVSb290Q2xpZW50Q2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJvb3RDbGllbnRDZXJ0aWZpY2F0ZSA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVJvb3RDbGllbnRDZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkNyZWF0ZVN0YW5kYnlXb3Jrc3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTdGFuZGJ5V29ya3NwYWNlcyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVN0YW5kYnlXb3Jrc3BhY2VzXCI7XG5cdC8qKiBbVGFnZ2luZ10gd29ya3NwYWNlczpDcmVhdGVUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUYWdzID0gXCJ3b3Jrc3BhY2VzOkNyZWF0ZVRhZ3NcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpDcmVhdGVVcGRhdGVkV29ya3NwYWNlSW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVwZGF0ZWRXb3Jrc3BhY2VJbWFnZSA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVVwZGF0ZWRXb3Jrc3BhY2VJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkNyZWF0ZVdvcmtzcGFjZUJ1bmRsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya3NwYWNlQnVuZGxlID0gXCJ3b3Jrc3BhY2VzOkNyZWF0ZVdvcmtzcGFjZUJ1bmRsZVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkNyZWF0ZVdvcmtzcGFjZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3Jrc3BhY2VJbWFnZSA9IFwid29ya3NwYWNlczpDcmVhdGVXb3Jrc3BhY2VJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkNyZWF0ZVdvcmtzcGFjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtzcGFjZXMgPSBcIndvcmtzcGFjZXM6Q3JlYXRlV29ya3NwYWNlc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkNyZWF0ZVdvcmtzcGFjZXNQb29sICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3Jrc3BhY2VzUG9vbCA9IFwid29ya3NwYWNlczpDcmVhdGVXb3Jrc3BhY2VzUG9vbFwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkRlbGV0ZUFjY291bnRMaW5rSW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWNjb3VudExpbmtJbnZpdGF0aW9uID1cblx0XHRcIndvcmtzcGFjZXM6RGVsZXRlQWNjb3VudExpbmtJbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6RGVsZXRlQ2xpZW50QnJhbmRpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsaWVudEJyYW5kaW5nID0gXCJ3b3Jrc3BhY2VzOkRlbGV0ZUNsaWVudEJyYW5kaW5nXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6RGVsZXRlQ29ubmVjdENsaWVudEFkZEluICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25uZWN0Q2xpZW50QWRkSW4gPVxuXHRcdFwid29ya3NwYWNlczpEZWxldGVDb25uZWN0Q2xpZW50QWRkSW5cIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpEZWxldGVDb25uZWN0aW9uQWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3Rpb25BbGlhcyA9IFwid29ya3NwYWNlczpEZWxldGVDb25uZWN0aW9uQWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpEZWxldGVJcEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJcEdyb3VwID0gXCJ3b3Jrc3BhY2VzOkRlbGV0ZUlwR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpEZWxldGVSb290Q2xpZW50Q2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJvb3RDbGllbnRDZXJ0aWZpY2F0ZSA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlbGV0ZVJvb3RDbGllbnRDZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1RhZ2dpbmddIHdvcmtzcGFjZXM6RGVsZXRlVGFncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFncyA9IFwid29ya3NwYWNlczpEZWxldGVUYWdzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6RGVsZXRlV29ya3NwYWNlQnVuZGxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3Jrc3BhY2VCdW5kbGUgPSBcIndvcmtzcGFjZXM6RGVsZXRlV29ya3NwYWNlQnVuZGxlXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6RGVsZXRlV29ya3NwYWNlSW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtzcGFjZUltYWdlID0gXCJ3b3Jrc3BhY2VzOkRlbGV0ZVdvcmtzcGFjZUltYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6RGVwbG95V29ya3NwYWNlQXBwbGljYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXBsb3lXb3Jrc3BhY2VBcHBsaWNhdGlvbnMgPVxuXHRcdFwid29ya3NwYWNlczpEZXBsb3lXb3Jrc3BhY2VBcHBsaWNhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpEZXJlZ2lzdGVyV29ya3NwYWNlRGlyZWN0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyV29ya3NwYWNlRGlyZWN0b3J5ID1cblx0XHRcIndvcmtzcGFjZXM6RGVyZWdpc3RlcldvcmtzcGFjZURpcmVjdG9yeVwiO1xuXHQvKiogW1JlYWRdIHdvcmtzcGFjZXM6RGVzY3JpYmVBY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnQgPSBcIndvcmtzcGFjZXM6RGVzY3JpYmVBY2NvdW50XCI7XG5cdC8qKiBbUmVhZF0gd29ya3NwYWNlczpEZXNjcmliZUFjY291bnRNb2RpZmljYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRNb2RpZmljYXRpb25zID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVBY2NvdW50TW9kaWZpY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHdvcmtzcGFjZXM6RGVzY3JpYmVBcHBsaWNhdGlvbkFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBsaWNhdGlvbkFzc29jaWF0aW9ucyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQXBwbGljYXRpb25Bc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkRlc2NyaWJlQXBwbGljYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcGxpY2F0aW9ucyA9IFwid29ya3NwYWNlczpEZXNjcmliZUFwcGxpY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHdvcmtzcGFjZXM6RGVzY3JpYmVCdW5kbGVBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQnVuZGxlQXNzb2NpYXRpb25zID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVCdW5kbGVBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSB3b3Jrc3BhY2VzOkRlc2NyaWJlQ2xpZW50QnJhbmRpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2xpZW50QnJhbmRpbmcgPSBcIndvcmtzcGFjZXM6RGVzY3JpYmVDbGllbnRCcmFuZGluZ1wiO1xuXHQvKiogW0xpc3RdIHdvcmtzcGFjZXM6RGVzY3JpYmVDbGllbnRQcm9wZXJ0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsaWVudFByb3BlcnRpZXMgPVxuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZUNsaWVudFByb3BlcnRpZXNcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkRlc2NyaWJlQ29ubmVjdENsaWVudEFkZElucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25uZWN0Q2xpZW50QWRkSW5zID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVDb25uZWN0Q2xpZW50QWRkSW5zXCI7XG5cdC8qKiBbUmVhZF0gd29ya3NwYWNlczpEZXNjcmliZUNvbm5lY3Rpb25BbGlhc1Blcm1pc3Npb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbm5lY3Rpb25BbGlhc1Blcm1pc3Npb25zID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVDb25uZWN0aW9uQWxpYXNQZXJtaXNzaW9uc1wiO1xuXHQvKiogW1JlYWRdIHdvcmtzcGFjZXM6RGVzY3JpYmVDb25uZWN0aW9uQWxpYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25uZWN0aW9uQWxpYXNlcyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQ29ubmVjdGlvbkFsaWFzZXNcIjtcblx0LyoqIFtSZWFkXSB3b3Jrc3BhY2VzOkRlc2NyaWJlQ29uc2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25zZW50ID0gXCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQ29uc2VudFwiO1xuXHQvKiogW1JlYWRdIHdvcmtzcGFjZXM6RGVzY3JpYmVDdXN0b21Xb3Jrc3BhY2VJbWFnZUltcG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDdXN0b21Xb3Jrc3BhY2VJbWFnZUltcG9ydCA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQ3VzdG9tV29ya3NwYWNlSW1hZ2VJbXBvcnRcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkRlc2NyaWJlSW1hZ2VBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW1hZ2VBc3NvY2lhdGlvbnMgPVxuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZUltYWdlQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gd29ya3NwYWNlczpEZXNjcmliZUlwR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUlwR3JvdXBzID0gXCJ3b3Jrc3BhY2VzOkRlc2NyaWJlSXBHcm91cHNcIjtcblx0LyoqIFtSZWFkXSB3b3Jrc3BhY2VzOkRlc2NyaWJlVGFncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYWdzID0gXCJ3b3Jrc3BhY2VzOkRlc2NyaWJlVGFnc1wiO1xuXHQvKiogW0xpc3RdIHdvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3NwYWNlQXNzb2NpYXRpb25zID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlQnVuZGxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VCdW5kbGVzID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VCdW5kbGVzXCI7XG5cdC8qKiBbUmVhZF0gd29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZURpcmVjdG9yaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZURpcmVjdG9yaWVzID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VEaXJlY3Rvcmllc1wiO1xuXHQvKiogW1JlYWRdIHdvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VJbWFnZVBlcm1pc3Npb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvbnMgPVxuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvbnNcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlSW1hZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZUltYWdlcyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlSW1hZ2VzXCI7XG5cdC8qKiBbTGlzdF0gd29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZVNuYXBzaG90cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VTbmFwc2hvdHMgPVxuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZVNuYXBzaG90c1wiO1xuXHQvKiogW0xpc3RdIHdvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZXMgPSBcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VzXCI7XG5cdC8qKiBbUmVhZF0gd29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZXNDb25uZWN0aW9uU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZXNDb25uZWN0aW9uU3RhdHVzID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VzQ29ubmVjdGlvblN0YXR1c1wiO1xuXHQvKiogW0xpc3RdIHdvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VzUG9vbFNlc3Npb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZXNQb29sU2Vzc2lvbnMgPVxuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZXNQb29sU2Vzc2lvbnNcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlc1Bvb2xzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZXNQb29scyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlc1Bvb2xzXCI7XG5cdC8qKiBbTGlzdF0gd29ya3NwYWNlczpEaXJlY3RvcnlBY2Nlc3NNYW5hZ2VtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXJlY3RvcnlBY2Nlc3NNYW5hZ2VtZW50ID1cblx0XHRcIndvcmtzcGFjZXM6RGlyZWN0b3J5QWNjZXNzTWFuYWdlbWVudFwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkRpc2Fzc29jaWF0ZUNvbm5lY3Rpb25BbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQ29ubmVjdGlvbkFsaWFzID1cblx0XHRcIndvcmtzcGFjZXM6RGlzYXNzb2NpYXRlQ29ubmVjdGlvbkFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6RGlzYXNzb2NpYXRlSXBHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUlwR3JvdXBzID0gXCJ3b3Jrc3BhY2VzOkRpc2Fzc29jaWF0ZUlwR3JvdXBzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6RGlzYXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVdvcmtzcGFjZUFwcGxpY2F0aW9uID1cblx0XHRcIndvcmtzcGFjZXM6RGlzYXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb25cIjtcblx0LyoqIFtSZWFkXSB3b3Jrc3BhY2VzOkdldEFjY291bnRMaW5rICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBY2NvdW50TGluayA9IFwid29ya3NwYWNlczpHZXRBY2NvdW50TGlua1wiO1xuXHQvKiogW1JlYWRdIHdvcmtzcGFjZXM6R2V0VHJvdWJsZXNob290aW5nUmVjb21tZW5kYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRyb3VibGVzaG9vdGluZ1JlY29tbWVuZGF0aW9uID1cblx0XHRcIndvcmtzcGFjZXM6R2V0VHJvdWJsZXNob290aW5nUmVjb21tZW5kYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpJbXBvcnRDbGllbnRCcmFuZGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0Q2xpZW50QnJhbmRpbmcgPSBcIndvcmtzcGFjZXM6SW1wb3J0Q2xpZW50QnJhbmRpbmdcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpJbXBvcnRDdXN0b21Xb3Jrc3BhY2VJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0Q3VzdG9tV29ya3NwYWNlSW1hZ2UgPVxuXHRcdFwid29ya3NwYWNlczpJbXBvcnRDdXN0b21Xb3Jrc3BhY2VJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkltcG9ydFdvcmtzcGFjZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRXb3Jrc3BhY2VJbWFnZSA9IFwid29ya3NwYWNlczpJbXBvcnRXb3Jrc3BhY2VJbWFnZVwiO1xuXHQvKiogW1JlYWRdIHdvcmtzcGFjZXM6SW52b2tlVHJvdWJsZXNob290aW5nSW52ZXN0aWdhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlVHJvdWJsZXNob290aW5nSW52ZXN0aWdhdGlvbiA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkludm9rZVRyb3VibGVzaG9vdGluZ0ludmVzdGlnYXRpb25cIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkxpc3RBY2NvdW50TGlua3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBY2NvdW50TGlua3MgPSBcIndvcmtzcGFjZXM6TGlzdEFjY291bnRMaW5rc1wiO1xuXHQvKiogW0xpc3RdIHdvcmtzcGFjZXM6TGlzdEF2YWlsYWJsZU1hbmFnZW1lbnRDaWRyUmFuZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXZhaWxhYmxlTWFuYWdlbWVudENpZHJSYW5nZXMgPVxuXHRcdFwid29ya3NwYWNlczpMaXN0QXZhaWxhYmxlTWFuYWdlbWVudENpZHJSYW5nZXNcIjtcblx0LyoqIFtSZWFkXSB3b3Jrc3BhY2VzOkxpc3RUcm91Ymxlc2hvb3RpbmdSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcm91Ymxlc2hvb3RpbmdSZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwid29ya3NwYWNlczpMaXN0VHJvdWJsZXNob290aW5nUmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6TWlncmF0ZVdvcmtzcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWlncmF0ZVdvcmtzcGFjZSA9IFwid29ya3NwYWNlczpNaWdyYXRlV29ya3NwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6TW9kaWZ5QWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5QWNjb3VudCA9IFwid29ya3NwYWNlczpNb2RpZnlBY2NvdW50XCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6TW9kaWZ5Q2VydGlmaWNhdGVCYXNlZEF1dGhQcm9wZXJ0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDZXJ0aWZpY2F0ZUJhc2VkQXV0aFByb3BlcnRpZXMgPVxuXHRcdFwid29ya3NwYWNlczpNb2RpZnlDZXJ0aWZpY2F0ZUJhc2VkQXV0aFByb3BlcnRpZXNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpNb2RpZnlDbGllbnRQcm9wZXJ0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDbGllbnRQcm9wZXJ0aWVzID0gXCJ3b3Jrc3BhY2VzOk1vZGlmeUNsaWVudFByb3BlcnRpZXNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpNb2RpZnlFbmRwb2ludEVuY3J5cHRpb25Nb2RlICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlFbmRwb2ludEVuY3J5cHRpb25Nb2RlID1cblx0XHRcIndvcmtzcGFjZXM6TW9kaWZ5RW5kcG9pbnRFbmNyeXB0aW9uTW9kZVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOk1vZGlmeVNhbWxQcm9wZXJ0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlTYW1sUHJvcGVydGllcyA9IFwid29ya3NwYWNlczpNb2RpZnlTYW1sUHJvcGVydGllc1wiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSB3b3Jrc3BhY2VzOk1vZGlmeVNlbGZzZXJ2aWNlUGVybWlzc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVNlbGZzZXJ2aWNlUGVybWlzc2lvbnMgPVxuXHRcdFwid29ya3NwYWNlczpNb2RpZnlTZWxmc2VydmljZVBlcm1pc3Npb25zXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6TW9kaWZ5U3RyZWFtaW5nUHJvcGVydGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5U3RyZWFtaW5nUHJvcGVydGllcyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeVN0cmVhbWluZ1Byb3BlcnRpZXNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpNb2RpZnlXb3Jrc3BhY2VBY2Nlc3NQcm9wZXJ0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlXb3Jrc3BhY2VBY2Nlc3NQcm9wZXJ0aWVzID1cblx0XHRcIndvcmtzcGFjZXM6TW9kaWZ5V29ya3NwYWNlQWNjZXNzUHJvcGVydGllc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOk1vZGlmeVdvcmtzcGFjZUNyZWF0aW9uUHJvcGVydGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5V29ya3NwYWNlQ3JlYXRpb25Qcm9wZXJ0aWVzID1cblx0XHRcIndvcmtzcGFjZXM6TW9kaWZ5V29ya3NwYWNlQ3JlYXRpb25Qcm9wZXJ0aWVzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6TW9kaWZ5V29ya3NwYWNlUHJvcGVydGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5V29ya3NwYWNlUHJvcGVydGllcyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeVdvcmtzcGFjZVByb3BlcnRpZXNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpNb2RpZnlXb3Jrc3BhY2VTdGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5V29ya3NwYWNlU3RhdGUgPSBcIndvcmtzcGFjZXM6TW9kaWZ5V29ya3NwYWNlU3RhdGVcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpSZWJvb3RXb3Jrc3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJvb3RXb3Jrc3BhY2VzID0gXCJ3b3Jrc3BhY2VzOlJlYm9vdFdvcmtzcGFjZXNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpSZWJ1aWxkV29ya3NwYWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVidWlsZFdvcmtzcGFjZXMgPSBcIndvcmtzcGFjZXM6UmVidWlsZFdvcmtzcGFjZXNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpSZWdpc3RlcldvcmtzcGFjZURpcmVjdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJXb3Jrc3BhY2VEaXJlY3RvcnkgPVxuXHRcdFwid29ya3NwYWNlczpSZWdpc3RlcldvcmtzcGFjZURpcmVjdG9yeVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlJlamVjdEFjY291bnRMaW5rSW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0QWNjb3VudExpbmtJbnZpdGF0aW9uID1cblx0XHRcIndvcmtzcGFjZXM6UmVqZWN0QWNjb3VudExpbmtJbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6UmVzdG9yZVdvcmtzcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzdG9yZVdvcmtzcGFjZSA9IFwid29ya3NwYWNlczpSZXN0b3JlV29ya3NwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6UmV2b2tlSXBSdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV2b2tlSXBSdWxlcyA9IFwid29ya3NwYWNlczpSZXZva2VJcFJ1bGVzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6U3RhcnRXb3Jrc3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFdvcmtzcGFjZXMgPSBcIndvcmtzcGFjZXM6U3RhcnRXb3Jrc3BhY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6U3RhcnRXb3Jrc3BhY2VzUG9vbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRXb3Jrc3BhY2VzUG9vbCA9IFwid29ya3NwYWNlczpTdGFydFdvcmtzcGFjZXNQb29sXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6U3RvcFdvcmtzcGFjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BXb3Jrc3BhY2VzID0gXCJ3b3Jrc3BhY2VzOlN0b3BXb3Jrc3BhY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6U3RvcFdvcmtzcGFjZXNQb29sICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wV29ya3NwYWNlc1Bvb2wgPSBcIndvcmtzcGFjZXM6U3RvcFdvcmtzcGFjZXNQb29sXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6U3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBTdHJlYW0gPSBcIndvcmtzcGFjZXM6U3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6VGVybWluYXRlV29ya3NwYWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVybWluYXRlV29ya3NwYWNlcyA9IFwid29ya3NwYWNlczpUZXJtaW5hdGVXb3Jrc3BhY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6VGVybWluYXRlV29ya3NwYWNlc1Bvb2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sID1cblx0XHRcIndvcmtzcGFjZXM6VGVybWluYXRlV29ya3NwYWNlc1Bvb2xcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpUZXJtaW5hdGVXb3Jrc3BhY2VzUG9vbFNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sU2Vzc2lvbiA9XG5cdFx0XCJ3b3Jrc3BhY2VzOlRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlVwZGF0ZUNvbm5lY3RDbGllbnRBZGRJbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29ubmVjdENsaWVudEFkZEluID1cblx0XHRcIndvcmtzcGFjZXM6VXBkYXRlQ29ubmVjdENsaWVudEFkZEluXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIHdvcmtzcGFjZXM6VXBkYXRlQ29ubmVjdGlvbkFsaWFzUGVybWlzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29ubmVjdGlvbkFsaWFzUGVybWlzc2lvbiA9XG5cdFx0XCJ3b3Jrc3BhY2VzOlVwZGF0ZUNvbm5lY3Rpb25BbGlhc1Blcm1pc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpVcGRhdGVDb25zZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25zZW50ID0gXCJ3b3Jrc3BhY2VzOlVwZGF0ZUNvbnNlbnRcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpVcGRhdGVSb290Q2xpZW50Q2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJvb3RDbGllbnRDZXJ0aWZpY2F0ZSA9XG5cdFx0XCJ3b3Jrc3BhY2VzOlVwZGF0ZVJvb3RDbGllbnRDZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlVwZGF0ZVJ1bGVzT2ZJcEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSdWxlc09mSXBHcm91cCA9IFwid29ya3NwYWNlczpVcGRhdGVSdWxlc09mSXBHcm91cFwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlVwZGF0ZVdvcmtzcGFjZUJ1bmRsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya3NwYWNlQnVuZGxlID0gXCJ3b3Jrc3BhY2VzOlVwZGF0ZVdvcmtzcGFjZUJ1bmRsZVwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSB3b3Jrc3BhY2VzOlVwZGF0ZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya3NwYWNlSW1hZ2VQZXJtaXNzaW9uID1cblx0XHRcIndvcmtzcGFjZXM6VXBkYXRlV29ya3NwYWNlSW1hZ2VQZXJtaXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6VXBkYXRlV29ya3NwYWNlc1Bvb2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtzcGFjZXNQb29sID0gXCJ3b3Jrc3BhY2VzOlVwZGF0ZVdvcmtzcGFjZXNQb29sXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVBY2NvdW50LFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlQWNjb3VudE1vZGlmaWNhdGlvbnMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVDbGllbnRCcmFuZGluZyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZUNvbm5lY3Rpb25BbGlhc1Blcm1pc3Npb25zLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlQ29ubmVjdGlvbkFsaWFzZXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVDb25zZW50LFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlQ3VzdG9tV29ya3NwYWNlSW1hZ2VJbXBvcnQsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVJcEdyb3Vwcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZVRhZ3MsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVXb3Jrc3BhY2VEaXJlY3Rvcmllcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvbnMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVXb3Jrc3BhY2VzQ29ubmVjdGlvblN0YXR1cyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5hY3Rpb25HZXRBY2NvdW50TGluayxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5hY3Rpb25HZXRUcm91Ymxlc2hvb3RpbmdSZWNvbW1lbmRhdGlvbixcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5JbnZva2VUcm91Ymxlc2hvb3RpbmdJbnZlc3RpZ2F0aW9uLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkxpc3RUcm91Ymxlc2hvb3RpbmdSZWNvbW1lbmRhdGlvbnMsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQWNjZXB0QWNjb3VudExpbmtJbnZpdGF0aW9uLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkFzc29jaWF0ZUNvbm5lY3Rpb25BbGlhcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5Bc3NvY2lhdGVJcEdyb3Vwcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5Bc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvbixcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5BdXRob3JpemVJcFJ1bGVzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkNvcHlXb3Jrc3BhY2VJbWFnZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5DcmVhdGVBY2NvdW50TGlua0ludml0YXRpb24sXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQ3JlYXRlQ29ubmVjdENsaWVudEFkZEluLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkNyZWF0ZUNvbm5lY3Rpb25BbGlhcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5DcmVhdGVJcEdyb3VwLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkNyZWF0ZVJvb3RDbGllbnRDZXJ0aWZpY2F0ZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5DcmVhdGVTdGFuZGJ5V29ya3NwYWNlcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5DcmVhdGVVcGRhdGVkV29ya3NwYWNlSW1hZ2UsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQ3JlYXRlV29ya3NwYWNlQnVuZGxlLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkNyZWF0ZVdvcmtzcGFjZUltYWdlLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkNyZWF0ZVdvcmtzcGFjZXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQ3JlYXRlV29ya3NwYWNlc1Bvb2wsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVsZXRlQWNjb3VudExpbmtJbnZpdGF0aW9uLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlbGV0ZUNsaWVudEJyYW5kaW5nLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlbGV0ZUNvbm5lY3RDbGllbnRBZGRJbixcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZWxldGVDb25uZWN0aW9uQWxpYXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVsZXRlSXBHcm91cCxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZWxldGVSb290Q2xpZW50Q2VydGlmaWNhdGUsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVsZXRlV29ya3NwYWNlQnVuZGxlLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlbGV0ZVdvcmtzcGFjZUltYWdlLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlcGxveVdvcmtzcGFjZUFwcGxpY2F0aW9ucyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXJlZ2lzdGVyV29ya3NwYWNlRGlyZWN0b3J5LFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRpc2Fzc29jaWF0ZUNvbm5lY3Rpb25BbGlhcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EaXNhc3NvY2lhdGVJcEdyb3Vwcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EaXNhc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvbixcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5JbXBvcnRDbGllbnRCcmFuZGluZyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5JbXBvcnRDdXN0b21Xb3Jrc3BhY2VJbWFnZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5JbXBvcnRXb3Jrc3BhY2VJbWFnZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5NaWdyYXRlV29ya3NwYWNlLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLk1vZGlmeUFjY291bnQsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuTW9kaWZ5Q2VydGlmaWNhdGVCYXNlZEF1dGhQcm9wZXJ0aWVzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLk1vZGlmeUNsaWVudFByb3BlcnRpZXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuTW9kaWZ5RW5kcG9pbnRFbmNyeXB0aW9uTW9kZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5Nb2RpZnlTYW1sUHJvcGVydGllcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5Nb2RpZnlTdHJlYW1pbmdQcm9wZXJ0aWVzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLk1vZGlmeVdvcmtzcGFjZUFjY2Vzc1Byb3BlcnRpZXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuTW9kaWZ5V29ya3NwYWNlQ3JlYXRpb25Qcm9wZXJ0aWVzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLk1vZGlmeVdvcmtzcGFjZVByb3BlcnRpZXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuTW9kaWZ5V29ya3NwYWNlU3RhdGUsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuUmVib290V29ya3NwYWNlcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5SZWJ1aWxkV29ya3NwYWNlcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5SZWdpc3RlcldvcmtzcGFjZURpcmVjdG9yeSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5SZWplY3RBY2NvdW50TGlua0ludml0YXRpb24sXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuUmVzdG9yZVdvcmtzcGFjZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5SZXZva2VJcFJ1bGVzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlN0YXJ0V29ya3NwYWNlcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5TdGFydFdvcmtzcGFjZXNQb29sLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlN0b3BXb3Jrc3BhY2VzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlN0b3BXb3Jrc3BhY2VzUG9vbCxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5TdHJlYW0sXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuVGVybWluYXRlV29ya3NwYWNlcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5UZXJtaW5hdGVXb3Jrc3BhY2VzUG9vbCxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5UZXJtaW5hdGVXb3Jrc3BhY2VzUG9vbFNlc3Npb24sXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuVXBkYXRlQ29ubmVjdENsaWVudEFkZEluLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlVwZGF0ZUNvbnNlbnQsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuVXBkYXRlUm9vdENsaWVudENlcnRpZmljYXRlLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlVwZGF0ZVJ1bGVzT2ZJcEdyb3VwLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlVwZGF0ZVdvcmtzcGFjZUJ1bmRsZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5VcGRhdGVXb3Jrc3BhY2VzUG9vbCxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVBcHBsaWNhdGlvbkFzc29jaWF0aW9ucyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZUFwcGxpY2F0aW9ucyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZUJ1bmRsZUFzc29jaWF0aW9ucyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZUNsaWVudFByb3BlcnRpZXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVDb25uZWN0Q2xpZW50QWRkSW5zLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlSW1hZ2VBc3NvY2lhdGlvbnMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVXb3Jrc3BhY2VBc3NvY2lhdGlvbnMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVXb3Jrc3BhY2VCdW5kbGVzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlV29ya3NwYWNlSW1hZ2VzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlV29ya3NwYWNlU25hcHNob3RzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlV29ya3NwYWNlcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZVdvcmtzcGFjZXNQb29sU2Vzc2lvbnMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVXb3Jrc3BhY2VzUG9vbHMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGlyZWN0b3J5QWNjZXNzTWFuYWdlbWVudCxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5MaXN0QWNjb3VudExpbmtzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkxpc3RBdmFpbGFibGVNYW5hZ2VtZW50Q2lkclJhbmdlcyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuTW9kaWZ5U2VsZnNlcnZpY2VQZXJtaXNzaW9ucyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5VcGRhdGVDb25uZWN0aW9uQWxpYXNQZXJtaXNzaW9uLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlVwZGF0ZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvbixcblx0XTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQ3JlYXRlVGFncyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZWxldGVUYWdzLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2VydGlmaWNhdGVpZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc0NlcnRpZmljYXRlaWRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2VydGlmaWNhdGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2VydGlmaWNhdGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNlcnRpZmljYXRlaWQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtTcGFjZXNDZXJ0aWZpY2F0ZWlkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDZXJ0aWZpY2F0ZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2VydGlmaWNhdGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29ubmVjdGlvbmFsaWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrU3BhY2VzQ29ubmVjdGlvbmFsaWFzQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbm5lY3Rpb25BbGlhc0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25uZWN0aW9uQWxpYXNJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbm5lY3Rpb25hbGlhcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc0Nvbm5lY3Rpb25hbGlhc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29ubmVjdGlvbkFsaWFzSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25uZWN0aW9uQWxpYXNJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGlyZWN0b3J5aWQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtTcGFjZXNEaXJlY3RvcnlpZEFyblByb3BzIHtcblx0LyoqIFRoZSBEaXJlY3RvcnlJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGlyZWN0b3J5SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkaXJlY3RvcnlpZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc0RpcmVjdG9yeWlkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEaXJlY3RvcnlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRpcmVjdG9yeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB3b3Jrc3BhY2VhcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWFwcGxpY2F0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFdvcmtTcGFjZUFwcGxpY2F0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHdvcmtTcGFjZUFwcGxpY2F0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3Jrc3BhY2VhcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBXb3JrU3BhY2VBcHBsaWNhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgd29ya1NwYWNlQXBwbGljYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya3NwYWNlYnVuZGxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrU3BhY2VzV29ya3NwYWNlYnVuZGxlQXJuUHJvcHMge1xuXHQvKiogVGhlIEJ1bmRsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBidW5kbGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmtzcGFjZWJ1bmRsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWJ1bmRsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQnVuZGxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBidW5kbGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya3NwYWNlaWQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtTcGFjZXNXb3Jrc3BhY2VpZEFyblByb3BzIHtcblx0LyoqIFRoZSBXb3Jrc3BhY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgd29ya3NwYWNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3Jrc3BhY2VpZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWlkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBXb3Jrc3BhY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHdvcmtzcGFjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB3b3Jrc3BhY2VpbWFnZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWltYWdlQXJuUHJvcHMge1xuXHQvKiogVGhlIEltYWdlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGltYWdlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3Jrc3BhY2VpbWFnZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWltYWdlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbWFnZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW1hZ2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya3NwYWNlaXBncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWlwZ3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgR3JvdXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZ3JvdXBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmtzcGFjZWlwZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtTcGFjZXNXb3Jrc3BhY2VpcGdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBHcm91cElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZ3JvdXBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya3NwYWNlc3Bvb2wgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtTcGFjZXNXb3Jrc3BhY2VzcG9vbEFyblByb3BzIHtcblx0LyoqIFRoZSBQb29sSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBvb2xJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmtzcGFjZXNwb29sIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrU3BhY2VzV29ya3NwYWNlc3Bvb2xBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFBvb2xJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBvb2xJZDogc3RyaW5nO1xufVxuXG5jb25zdCBDZXJ0aWZpY2F0ZWlkQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOndvcmtzcGFjZXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3Jrc3BhY2VjZXJ0aWZpY2F0ZVxcLyg/PGNlcnRpZmljYXRlSWQ+W146Lz9dKykkLztcbmNvbnN0IENvbm5lY3Rpb25hbGlhc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTp3b3Jrc3BhY2VzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29ubmVjdGlvbmFsaWFzXFwvKD88Y29ubmVjdGlvbkFsaWFzSWQ+W146Lz9dKykkLztcbmNvbnN0IERpcmVjdG9yeWlkQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOndvcmtzcGFjZXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkaXJlY3RvcnlcXC8oPzxkaXJlY3RvcnlJZD5bXjovP10rKSQvO1xuY29uc3QgV29ya3NwYWNlYXBwbGljYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6d29ya3NwYWNlczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOndvcmtzcGFjZWFwcGxpY2F0aW9uXFwvKD88d29ya1NwYWNlQXBwbGljYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgV29ya3NwYWNlYnVuZGxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOndvcmtzcGFjZXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3Jrc3BhY2VidW5kbGVcXC8oPzxidW5kbGVJZD5bXjovP10rKSQvO1xuY29uc3QgV29ya3NwYWNlaWRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6d29ya3NwYWNlczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOndvcmtzcGFjZVxcLyg/PHdvcmtzcGFjZUlkPlteOi8/XSspJC87XG5jb25zdCBXb3Jrc3BhY2VpbWFnZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTp3b3Jrc3BhY2VzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya3NwYWNlaW1hZ2VcXC8oPzxpbWFnZUlkPlteOi8/XSspJC87XG5jb25zdCBXb3Jrc3BhY2VpcGdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOndvcmtzcGFjZXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3Jrc3BhY2VpcGdyb3VwXFwvKD88Z3JvdXBJZD5bXjovP10rKSQvO1xuY29uc3QgV29ya3NwYWNlc3Bvb2xBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6d29ya3NwYWNlczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOndvcmtzcGFjZXNwb29sXFwvKD88cG9vbElkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3Igd29ya3NwYWNlcyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBXb3JrU3BhY2VzUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjZXJ0aWZpY2F0ZWlkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNlcnRpZmljYXRlaWQocHJvcHM6IFdvcmtTcGFjZXNDZXJ0aWZpY2F0ZWlkQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OndvcmtzcGFjZXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya3NwYWNlY2VydGlmaWNhdGUvJHtwcm9wcy5jZXJ0aWZpY2F0ZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjZXJ0aWZpY2F0ZWlkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDZXJ0aWZpY2F0ZWlkQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENlcnRpZmljYXRlaWRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2VydGlmaWNhdGVpZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDZXJ0aWZpY2F0ZWlkQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBXb3JrU3BhY2VzQ2VydGlmaWNhdGVpZEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2VydGlmaWNhdGVpZEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjZXJ0aWZpY2F0ZWlkIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNlcnRpZmljYXRlSWQ6IG1hdGNoLmdyb3VwcyEuY2VydGlmaWNhdGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb25uZWN0aW9uYWxpYXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdGlvbmFsaWFzKHByb3BzOiBXb3JrU3BhY2VzQ29ubmVjdGlvbmFsaWFzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OndvcmtzcGFjZXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29ubmVjdGlvbmFsaWFzLyR7cHJvcHMuY29ubmVjdGlvbkFsaWFzSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbm5lY3Rpb25hbGlhcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29ubmVjdGlvbmFsaWFzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbm5lY3Rpb25hbGlhc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb25uZWN0aW9uYWxpYXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29ubmVjdGlvbmFsaWFzQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBXb3JrU3BhY2VzQ29ubmVjdGlvbmFsaWFzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25uZWN0aW9uYWxpYXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29ubmVjdGlvbmFsaWFzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbm5lY3Rpb25BbGlhc0lkOiBtYXRjaC5ncm91cHMhLmNvbm5lY3Rpb25BbGlhc0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRpcmVjdG9yeWlkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRpcmVjdG9yeWlkKHByb3BzOiBXb3JrU3BhY2VzRGlyZWN0b3J5aWRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06d29ya3NwYWNlczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkaXJlY3RvcnkvJHtwcm9wcy5kaXJlY3RvcnlJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGlyZWN0b3J5aWQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERpcmVjdG9yeWlkQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERpcmVjdG9yeWlkQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRpcmVjdG9yeWlkIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURpcmVjdG9yeWlkQXJuKGFybjogc3RyaW5nKTogV29ya1NwYWNlc0RpcmVjdG9yeWlkQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEaXJlY3RvcnlpZEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkaXJlY3RvcnlpZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkaXJlY3RvcnlJZDogbWF0Y2guZ3JvdXBzIS5kaXJlY3RvcnlJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3Jrc3BhY2VhcHBsaWNhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3Jrc3BhY2VhcHBsaWNhdGlvbihcblx0XHRwcm9wczogV29ya1NwYWNlc1dvcmtzcGFjZWFwcGxpY2F0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06d29ya3NwYWNlczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3b3Jrc3BhY2VhcHBsaWNhdGlvbi8ke3Byb3BzLndvcmtTcGFjZUFwcGxpY2F0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdvcmtzcGFjZWFwcGxpY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRXb3Jrc3BhY2VhcHBsaWNhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3Jrc3BhY2VhcHBsaWNhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3Jrc3BhY2VhcHBsaWNhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXb3Jrc3BhY2VhcHBsaWNhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogV29ya1NwYWNlc1dvcmtzcGFjZWFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3Jrc3BhY2VhcHBsaWNhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3b3Jrc3BhY2VhcHBsaWNhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR3b3JrU3BhY2VBcHBsaWNhdGlvbklkOiBtYXRjaC5ncm91cHMhLndvcmtTcGFjZUFwcGxpY2F0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd29ya3NwYWNlYnVuZGxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmtzcGFjZWJ1bmRsZShwcm9wczogV29ya1NwYWNlc1dvcmtzcGFjZWJ1bmRsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp3b3Jrc3BhY2VzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OndvcmtzcGFjZWJ1bmRsZS8ke3Byb3BzLmJ1bmRsZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3b3Jrc3BhY2VidW5kbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtzcGFjZWJ1bmRsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3Jrc3BhY2VidW5kbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgd29ya3NwYWNlYnVuZGxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtzcGFjZWJ1bmRsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogV29ya1NwYWNlc1dvcmtzcGFjZWJ1bmRsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV29ya3NwYWNlYnVuZGxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmtzcGFjZWJ1bmRsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRidW5kbGVJZDogbWF0Y2guZ3JvdXBzIS5idW5kbGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3Jrc3BhY2VpZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3Jrc3BhY2VpZChwcm9wczogV29ya1NwYWNlc1dvcmtzcGFjZWlkQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OndvcmtzcGFjZXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya3NwYWNlLyR7cHJvcHMud29ya3NwYWNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdvcmtzcGFjZWlkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRXb3Jrc3BhY2VpZEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3Jrc3BhY2VpZEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3Jrc3BhY2VpZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXb3Jrc3BhY2VpZEFybihhcm46IHN0cmluZyk6IFdvcmtTcGFjZXNXb3Jrc3BhY2VpZEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV29ya3NwYWNlaWRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd29ya3NwYWNlaWQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0d29ya3NwYWNlSWQ6IG1hdGNoLmdyb3VwcyEud29ya3NwYWNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd29ya3NwYWNlaW1hZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgd29ya3NwYWNlaW1hZ2UocHJvcHM6IFdvcmtTcGFjZXNXb3Jrc3BhY2VpbWFnZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp3b3Jrc3BhY2VzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OndvcmtzcGFjZWltYWdlLyR7cHJvcHMuaW1hZ2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgd29ya3NwYWNlaW1hZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtzcGFjZWltYWdlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFdvcmtzcGFjZWltYWdlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdvcmtzcGFjZWltYWdlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtzcGFjZWltYWdlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBXb3JrU3BhY2VzV29ya3NwYWNlaW1hZ2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdvcmtzcGFjZWltYWdlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmtzcGFjZWltYWdlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGltYWdlSWQ6IG1hdGNoLmdyb3VwcyEuaW1hZ2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3Jrc3BhY2VpcGdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmtzcGFjZWlwZ3JvdXAocHJvcHM6IFdvcmtTcGFjZXNXb3Jrc3BhY2VpcGdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OndvcmtzcGFjZXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya3NwYWNlaXBncm91cC8ke3Byb3BzLmdyb3VwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdvcmtzcGFjZWlwZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtzcGFjZWlwZ3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV29ya3NwYWNlaXBncm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3Jrc3BhY2VpcGdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtzcGFjZWlwZ3JvdXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFdvcmtTcGFjZXNXb3Jrc3BhY2VpcGdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3Jrc3BhY2VpcGdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmtzcGFjZWlwZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Z3JvdXBJZDogbWF0Y2guZ3JvdXBzIS5ncm91cElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHdvcmtzcGFjZXNwb29sIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmtzcGFjZXNwb29sKHByb3BzOiBXb3JrU3BhY2VzV29ya3NwYWNlc3Bvb2xBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06d29ya3NwYWNlczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3b3Jrc3BhY2VzcG9vbC8ke3Byb3BzLnBvb2xJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgd29ya3NwYWNlc3Bvb2wgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtzcGFjZXNwb29sQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFdvcmtzcGFjZXNwb29sQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdvcmtzcGFjZXNwb29sIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtzcGFjZXNwb29sQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBXb3JrU3BhY2VzV29ya3NwYWNlc3Bvb2xBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdvcmtzcGFjZXNwb29sQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmtzcGFjZXNwb29sIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBvb2xJZDogbWF0Y2guZ3JvdXBzIS5wb29sSWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3Igd29ya3NwYWNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFdvcmtTcGFjZXNPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWNjZXB0QWNjb3VudExpbmtJbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0QWNjb3VudExpbmtJbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6QWNjZXB0QWNjb3VudExpbmtJbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZUNvbm5lY3Rpb25BbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUNvbm5lY3Rpb25BbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkFzc29jaWF0ZUNvbm5lY3Rpb25BbGlhc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVJcEdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUlwR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6QXNzb2NpYXRlSXBHcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkFzc29jaWF0ZVdvcmtzcGFjZUFwcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEF1dGhvcml6ZUlwUnVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBdXRob3JpemVJcFJ1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6QXV0aG9yaXplSXBSdWxlc1wiLFxuXHRcdFwid29ya3NwYWNlczpVcGRhdGVSdWxlc09mSXBHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb3B5V29ya3NwYWNlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5V29ya3NwYWNlSW1hZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpDb3B5V29ya3NwYWNlSW1hZ2VcIixcblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlVGFnc1wiLFxuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZUltYWdlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBY2NvdW50TGlua0ludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY2NvdW50TGlua0ludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpDcmVhdGVBY2NvdW50TGlua0ludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29ubmVjdENsaWVudEFkZEluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdENsaWVudEFkZEluOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlQ29ubmVjdENsaWVudEFkZEluXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbm5lY3Rpb25BbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rpb25BbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZUNvbm5lY3Rpb25BbGlhc1wiLFxuXHRcdFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUlwR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJcEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlSXBHcm91cFwiLFxuXHRcdFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVN0YW5kYnlXb3Jrc3BhY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3RhbmRieVdvcmtzcGFjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpDcmVhdGVTdGFuZGJ5V29ya3NwYWNlc1wiLFxuXHRcdFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCIsXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUYWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGFnczogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOkNyZWF0ZVRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVwZGF0ZWRXb3Jrc3BhY2VJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVwZGF0ZWRXb3Jrc3BhY2VJbWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVRhZ3NcIixcblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlVXBkYXRlZFdvcmtzcGFjZUltYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtzcGFjZUJ1bmRsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtzcGFjZUJ1bmRsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVRhZ3NcIixcblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlV29ya3NwYWNlQnVuZGxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtzcGFjZUltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya3NwYWNlSW1hZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCIsXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVdvcmtzcGFjZUltYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtzcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3Jrc3BhY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlVGFnc1wiLFxuXHRcdFwid29ya3NwYWNlczpDcmVhdGVXb3Jrc3BhY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtzcGFjZXNQb29sIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya3NwYWNlc1Bvb2w6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCIsXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVdvcmtzcGFjZXNQb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFjY291bnRMaW5rSW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjY291bnRMaW5rSW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlbGV0ZUFjY291bnRMaW5rSW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDbGllbnRCcmFuZGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsaWVudEJyYW5kaW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVsZXRlQ2xpZW50QnJhbmRpbmdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29ubmVjdENsaWVudEFkZEluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29ubmVjdENsaWVudEFkZEluOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVsZXRlQ29ubmVjdENsaWVudEFkZEluXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbm5lY3Rpb25BbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3Rpb25BbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlbGV0ZUNvbm5lY3Rpb25BbGlhc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJcEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSXBHcm91cDogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOkRlbGV0ZUlwR3JvdXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYWdzOiBzdHJpbmdbXSA9IFtcIndvcmtzcGFjZXM6RGVsZXRlVGFnc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlV29ya3NwYWNlQnVuZGxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya3NwYWNlQnVuZGxlOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVsZXRlV29ya3NwYWNlQnVuZGxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVdvcmtzcGFjZUltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya3NwYWNlSW1hZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZWxldGVXb3Jrc3BhY2VJbWFnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXBsb3lXb3Jrc3BhY2VBcHBsaWNhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXBsb3lXb3Jrc3BhY2VBcHBsaWNhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXBsb3lXb3Jrc3BhY2VBcHBsaWNhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlcldvcmtzcGFjZURpcmVjdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJXb3Jrc3BhY2VEaXJlY3Rvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXJlZ2lzdGVyV29ya3NwYWNlRGlyZWN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWNjb3VudDogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQWNjb3VudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY2NvdW50TW9kaWZpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWNjb3VudE1vZGlmaWNhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZUFjY291bnRNb2RpZmljYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwbGljYXRpb25Bc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcGxpY2F0aW9uQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVBcHBsaWNhdGlvbkFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcGxpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwbGljYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVBcHBsaWNhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVCdW5kbGVBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJ1bmRsZUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQnVuZGxlQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2xpZW50QnJhbmRpbmcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsaWVudEJyYW5kaW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVDbGllbnRCcmFuZGluZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNsaWVudFByb3BlcnRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsaWVudFByb3BlcnRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZUNsaWVudFByb3BlcnRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25uZWN0Q2xpZW50QWRkSW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25uZWN0Q2xpZW50QWRkSW5zOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVDb25uZWN0Q2xpZW50QWRkSW5zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29ubmVjdGlvbkFsaWFzUGVybWlzc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbm5lY3Rpb25BbGlhc1Blcm1pc3Npb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVDb25uZWN0aW9uQWxpYXNQZXJtaXNzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbm5lY3Rpb25BbGlhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25uZWN0aW9uQWxpYXNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQ29ubmVjdGlvbkFsaWFzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDdXN0b21Xb3Jrc3BhY2VJbWFnZUltcG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ3VzdG9tV29ya3NwYWNlSW1hZ2VJbXBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZUN1c3RvbVdvcmtzcGFjZUltYWdlSW1wb3J0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW1hZ2VBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVJbWFnZUFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUlwR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJcEdyb3Vwczogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOkRlc2NyaWJlSXBHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGFncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFnczogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOkRlc2NyaWJlVGFnc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3Jrc3BhY2VBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlV29ya3NwYWNlQnVuZGxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3NwYWNlQnVuZGxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlQnVuZGxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVdvcmtzcGFjZURpcmVjdG9yaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VEaXJlY3Rvcmllczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlRGlyZWN0b3JpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3Jrc3BhY2VJbWFnZVBlcm1pc3Npb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VJbWFnZVBlcm1pc3Npb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VJbWFnZVBlcm1pc3Npb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlV29ya3NwYWNlSW1hZ2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VJbWFnZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZUltYWdlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVdvcmtzcGFjZVNuYXBzaG90cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3NwYWNlU25hcHNob3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VTbmFwc2hvdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3Jrc3BhY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlV29ya3NwYWNlc0Nvbm5lY3Rpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZXNDb25uZWN0aW9uU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VzQ29ubmVjdGlvblN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVdvcmtzcGFjZXNQb29sU2Vzc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZXNQb29sU2Vzc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZXNQb29sU2Vzc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3Jrc3BhY2VzUG9vbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZXNQb29sczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlc1Bvb2xzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUNvbm5lY3Rpb25BbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUNvbm5lY3Rpb25BbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRpc2Fzc29jaWF0ZUNvbm5lY3Rpb25BbGlhc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVJcEdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUlwR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGlzYXNzb2NpYXRlSXBHcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRpc2Fzc29jaWF0ZVdvcmtzcGFjZUFwcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFjY291bnRMaW5rIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBY2NvdW50TGluazogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOkdldEFjY291bnRMaW5rXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbXBvcnRDbGllbnRCcmFuZGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydENsaWVudEJyYW5kaW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6SW1wb3J0Q2xpZW50QnJhbmRpbmdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW1wb3J0Q3VzdG9tV29ya3NwYWNlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRDdXN0b21Xb3Jrc3BhY2VJbWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVRhZ3NcIixcblx0XHRcIndvcmtzcGFjZXM6SW1wb3J0Q3VzdG9tV29ya3NwYWNlSW1hZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW1wb3J0V29ya3NwYWNlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRXb3Jrc3BhY2VJbWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVRhZ3NcIixcblx0XHRcIndvcmtzcGFjZXM6SW1wb3J0V29ya3NwYWNlSW1hZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjY291bnRMaW5rcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBY2NvdW50TGlua3M6IHN0cmluZ1tdID0gW1wid29ya3NwYWNlczpMaXN0QWNjb3VudExpbmtzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXZhaWxhYmxlTWFuYWdlbWVudENpZHJSYW5nZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXZhaWxhYmxlTWFuYWdlbWVudENpZHJSYW5nZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpMaXN0QXZhaWxhYmxlTWFuYWdlbWVudENpZHJSYW5nZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTWlncmF0ZVdvcmtzcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1pZ3JhdGVXb3Jrc3BhY2U6IHN0cmluZ1tdID0gW1wid29ya3NwYWNlczpNaWdyYXRlV29ya3NwYWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlBY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5QWNjb3VudDogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOk1vZGlmeUFjY291bnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeUNlcnRpZmljYXRlQmFzZWRBdXRoUHJvcGVydGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUNlcnRpZmljYXRlQmFzZWRBdXRoUHJvcGVydGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeUNlcnRpZmljYXRlQmFzZWRBdXRoUHJvcGVydGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlDbGllbnRQcm9wZXJ0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2xpZW50UHJvcGVydGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeUNsaWVudFByb3BlcnRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5RW5kcG9pbnRFbmNyeXB0aW9uTW9kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUVuZHBvaW50RW5jcnlwdGlvbk1vZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpNb2RpZnlFbmRwb2ludEVuY3J5cHRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVNhbWxQcm9wZXJ0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5U2FtbFByb3BlcnRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpNb2RpZnlTYW1sUHJvcGVydGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlTZWxmc2VydmljZVBlcm1pc3Npb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5U2VsZnNlcnZpY2VQZXJtaXNzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeVNlbGZzZXJ2aWNlUGVybWlzc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5U3RyZWFtaW5nUHJvcGVydGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVN0cmVhbWluZ1Byb3BlcnRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpNb2RpZnlTdHJlYW1pbmdQcm9wZXJ0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVdvcmtzcGFjZUFjY2Vzc1Byb3BlcnRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlXb3Jrc3BhY2VBY2Nlc3NQcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6TW9kaWZ5V29ya3NwYWNlQWNjZXNzUHJvcGVydGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlXb3Jrc3BhY2VDcmVhdGlvblByb3BlcnRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlXb3Jrc3BhY2VDcmVhdGlvblByb3BlcnRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpNb2RpZnlXb3Jrc3BhY2VDcmVhdGlvblByb3BlcnRpZXNcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlXb3Jrc3BhY2VQcm9wZXJ0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5V29ya3NwYWNlUHJvcGVydGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeVdvcmtzcGFjZVByb3BlcnRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5V29ya3NwYWNlU3RhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlXb3Jrc3BhY2VTdGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeVdvcmtzcGFjZVN0YXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlYm9vdFdvcmtzcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJvb3RXb3Jrc3BhY2VzOiBzdHJpbmdbXSA9IFtcIndvcmtzcGFjZXM6UmVib290V29ya3NwYWNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVidWlsZFdvcmtzcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJ1aWxkV29ya3NwYWNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlJlYnVpbGRXb3Jrc3BhY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyV29ya3NwYWNlRGlyZWN0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJXb3Jrc3BhY2VEaXJlY3Rvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCIsXG5cdFx0XCJ3b3Jrc3BhY2VzOlJlZ2lzdGVyV29ya3NwYWNlRGlyZWN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlamVjdEFjY291bnRMaW5rSW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdEFjY291bnRMaW5rSW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlJlamVjdEFjY291bnRMaW5rSW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXN0b3JlV29ya3NwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzdG9yZVdvcmtzcGFjZTogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOlJlc3RvcmVXb3Jrc3BhY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldm9rZUlwUnVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZva2VJcFJ1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6UmV2b2tlSXBSdWxlc1wiLFxuXHRcdFwid29ya3NwYWNlczpVcGRhdGVSdWxlc09mSXBHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFdvcmtzcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFdvcmtzcGFjZXM6IHN0cmluZ1tdID0gW1wid29ya3NwYWNlczpTdGFydFdvcmtzcGFjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0V29ya3NwYWNlc1Bvb2wgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFdvcmtzcGFjZXNQb29sOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6U3RhcnRXb3Jrc3BhY2VzUG9vbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wV29ya3NwYWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BXb3Jrc3BhY2VzOiBzdHJpbmdbXSA9IFtcIndvcmtzcGFjZXM6U3RvcFdvcmtzcGFjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BXb3Jrc3BhY2VzUG9vbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BXb3Jrc3BhY2VzUG9vbDogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlN0b3BXb3Jrc3BhY2VzUG9vbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUZXJtaW5hdGVXb3Jrc3BhY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVybWluYXRlV29ya3NwYWNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlRlcm1pbmF0ZVdvcmtzcGFjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGVybWluYXRlV29ya3NwYWNlc1Bvb2wgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVXb3Jrc3BhY2VzUG9vbDogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sU2Vzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sU2Vzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25uZWN0Q2xpZW50QWRkSW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0Q2xpZW50QWRkSW46IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpVcGRhdGVDb25uZWN0Q2xpZW50QWRkSW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29ubmVjdGlvbkFsaWFzUGVybWlzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3Rpb25BbGlhc1Blcm1pc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpVcGRhdGVDb25uZWN0aW9uQWxpYXNQZXJtaXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJ1bGVzT2ZJcEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUnVsZXNPZklwR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpBdXRob3JpemVJcFJ1bGVzXCIsXG5cdFx0XCJ3b3Jrc3BhY2VzOlJldm9rZUlwUnVsZXNcIixcblx0XHRcIndvcmtzcGFjZXM6VXBkYXRlUnVsZXNPZklwR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlV29ya3NwYWNlQnVuZGxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya3NwYWNlQnVuZGxlOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6VXBkYXRlV29ya3NwYWNlQnVuZGxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlVwZGF0ZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVXb3Jrc3BhY2VzUG9vbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtzcGFjZXNQb29sOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6VXBkYXRlV29ya3NwYWNlc1Bvb2xcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIHdvcmtzcGFjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBXb3JrU3BhY2VzQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29ubmVjdGlvbkFsaWFzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rpb25BbGlhc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSXBHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJcEdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUYWdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVRhZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFnc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVwbG95V29ya3NwYWNlQXBwbGljYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcGxveVdvcmtzcGFjZUFwcGxpY2F0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVBcHBsaWNhdGlvbkFzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcGxpY2F0aW9uQXNzb2NpYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUJ1bmRsZUFzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJ1bmRsZUFzc29jaWF0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVJbWFnZUFzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlQXNzb2NpYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVdvcmtzcGFjZUFzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZUFzc29jaWF0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGlzYXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEltcG9ydEN1c3RvbVdvcmtzcGFjZUltYWdlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEN1c3RvbVdvcmtzcGFjZUltYWdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbXBvcnRXb3Jrc3BhY2VJbWFnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRXb3Jrc3BhY2VJbWFnZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJXb3Jrc3BhY2VEaXJlY3RvcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJXb3Jrc3BhY2VEaXJlY3RvcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0cmVhbSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdHJlYW1Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcIndvcmtzcGFjZXM6dXNlcklkXCJdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHdvcmtzcGFjZXM6dXNlcklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBVU0VSX0lEID0gXCJ3b3Jrc3BhY2VzOnVzZXJJZFwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGB3b3Jrc3BhY2VzOnVzZXJJZGAuXG5cdCAqL1xuXHRzdGF0aWMgdXNlcklkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwid29ya3NwYWNlczp1c2VySWRcIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=
1083
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvd29ya3NwYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELGlEQUFpRDtBQUNqRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7O0FBQTlCLDhDQStYQzs7O0FBOVhBLDhCQUE4QjtBQUNkLGdDQUFjLEdBQUcsWUFBWSxDQUFDO0FBRTlDLHFEQUFxRDtBQUNyQyw2Q0FBMkIsR0FDMUMsd0NBQXdDLENBQUM7QUFDMUMsa0RBQWtEO0FBQ2xDLDBDQUF3QixHQUN2QyxxQ0FBcUMsQ0FBQztBQUN2QywyQ0FBMkM7QUFDM0IsbUNBQWlCLEdBQUcsOEJBQThCLENBQUM7QUFDbkUsdURBQXVEO0FBQ3ZDLCtDQUE2QixHQUM1QywwQ0FBMEMsQ0FBQztBQUM1QywwQ0FBMEM7QUFDMUIsa0NBQWdCLEdBQUcsNkJBQTZCLENBQUM7QUFDakUsNENBQTRDO0FBQzVCLG9DQUFrQixHQUFHLCtCQUErQixDQUFDO0FBQ3JFLHFEQUFxRDtBQUNyQyw2Q0FBMkIsR0FDMUMsd0NBQXdDLENBQUM7QUFDMUMsa0RBQWtEO0FBQ2xDLDBDQUF3QixHQUN2QyxxQ0FBcUMsQ0FBQztBQUN2QywrQ0FBK0M7QUFDL0IsdUNBQXFCLEdBQUcsa0NBQWtDLENBQUM7QUFDM0UsdUNBQXVDO0FBQ3ZCLCtCQUFhLEdBQUcsMEJBQTBCLENBQUM7QUFDM0QscURBQXFEO0FBQ3JDLDZDQUEyQixHQUMxQyx3Q0FBd0MsQ0FBQztBQUMxQyxpREFBaUQ7QUFDakMseUNBQXVCLEdBQ3RDLG9DQUFvQyxDQUFDO0FBQ3RDLHNDQUFzQztBQUN0Qiw0QkFBVSxHQUFHLHVCQUF1QixDQUFDO0FBQ3JELHFEQUFxRDtBQUNyQyw2Q0FBMkIsR0FDMUMsd0NB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MEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMscUNBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLGlDQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzdDLGdEQUFnRDtBQUNoQyw0QkFBTyxHQUFHLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2Uvd29ya3NwYWNlcy5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgd29ya3NwYWNlcyBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgV29ya1NwYWNlc0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJ3b3Jrc3BhY2VzXCI7XG5cblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpBY2NlcHRBY2NvdW50TGlua0ludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdEFjY291bnRMaW5rSW52aXRhdGlvbiA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkFjY2VwdEFjY291bnRMaW5rSW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkFzc29jaWF0ZUNvbm5lY3Rpb25BbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQ29ubmVjdGlvbkFsaWFzID1cblx0XHRcIndvcmtzcGFjZXM6QXNzb2NpYXRlQ29ubmVjdGlvbkFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6QXNzb2NpYXRlSXBHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUlwR3JvdXBzID0gXCJ3b3Jrc3BhY2VzOkFzc29jaWF0ZUlwR3JvdXBzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6QXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVdvcmtzcGFjZUFwcGxpY2F0aW9uID1cblx0XHRcIndvcmtzcGFjZXM6QXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpBdXRob3JpemVJcFJ1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBBdXRob3JpemVJcFJ1bGVzID0gXCJ3b3Jrc3BhY2VzOkF1dGhvcml6ZUlwUnVsZXNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpDb3B5V29ya3NwYWNlSW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlXb3Jrc3BhY2VJbWFnZSA9IFwid29ya3NwYWNlczpDb3B5V29ya3NwYWNlSW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpDcmVhdGVBY2NvdW50TGlua0ludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjY291bnRMaW5rSW52aXRhdGlvbiA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZUFjY291bnRMaW5rSW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkNyZWF0ZUNvbm5lY3RDbGllbnRBZGRJbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdENsaWVudEFkZEluID1cblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlQ29ubmVjdENsaWVudEFkZEluXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6Q3JlYXRlQ29ubmVjdGlvbkFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0aW9uQWxpYXMgPSBcIndvcmtzcGFjZXM6Q3JlYXRlQ29ubmVjdGlvbkFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6Q3JlYXRlSXBHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSXBHcm91cCA9IFwid29ya3NwYWNlczpDcmVhdGVJcEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6Q3JlYXRlUm9vdENsaWVudENlcnRpZmljYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSb290Q2xpZW50Q2VydGlmaWNhdGUgPVxuXHRcdFwid29ya3NwYWNlczpDcmVhdGVSb290Q2xpZW50Q2VydGlmaWNhdGVcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpDcmVhdGVTdGFuZGJ5V29ya3NwYWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3RhbmRieVdvcmtzcGFjZXMgPVxuXHRcdFwid29ya3NwYWNlczpDcmVhdGVTdGFuZGJ5V29ya3NwYWNlc1wiO1xuXHQvKiogW1RhZ2dpbmddIHdvcmtzcGFjZXM6Q3JlYXRlVGFncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGFncyA9IFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6Q3JlYXRlVXBkYXRlZFdvcmtzcGFjZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVcGRhdGVkV29ya3NwYWNlSW1hZ2UgPVxuXHRcdFwid29ya3NwYWNlczpDcmVhdGVVcGRhdGVkV29ya3NwYWNlSW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpDcmVhdGVXb3Jrc3BhY2VCdW5kbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtzcGFjZUJ1bmRsZSA9IFwid29ya3NwYWNlczpDcmVhdGVXb3Jrc3BhY2VCdW5kbGVcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpDcmVhdGVXb3Jrc3BhY2VJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya3NwYWNlSW1hZ2UgPSBcIndvcmtzcGFjZXM6Q3JlYXRlV29ya3NwYWNlSW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpDcmVhdGVXb3Jrc3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3Jrc3BhY2VzID0gXCJ3b3Jrc3BhY2VzOkNyZWF0ZVdvcmtzcGFjZXNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpDcmVhdGVXb3Jrc3BhY2VzUG9vbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya3NwYWNlc1Bvb2wgPSBcIndvcmtzcGFjZXM6Q3JlYXRlV29ya3NwYWNlc1Bvb2xcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpEZWxldGVBY2NvdW50TGlua0ludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjY291bnRMaW5rSW52aXRhdGlvbiA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlbGV0ZUFjY291bnRMaW5rSW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkRlbGV0ZUNsaWVudEJyYW5kaW5nICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbGllbnRCcmFuZGluZyA9IFwid29ya3NwYWNlczpEZWxldGVDbGllbnRCcmFuZGluZ1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkRlbGV0ZUNvbm5lY3RDbGllbnRBZGRJbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29ubmVjdENsaWVudEFkZEluID1cblx0XHRcIndvcmtzcGFjZXM6RGVsZXRlQ29ubmVjdENsaWVudEFkZEluXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6RGVsZXRlQ29ubmVjdGlvbkFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25uZWN0aW9uQWxpYXMgPSBcIndvcmtzcGFjZXM6RGVsZXRlQ29ubmVjdGlvbkFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6RGVsZXRlSXBHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSXBHcm91cCA9IFwid29ya3NwYWNlczpEZWxldGVJcEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6RGVsZXRlUm9vdENsaWVudENlcnRpZmljYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSb290Q2xpZW50Q2VydGlmaWNhdGUgPVxuXHRcdFwid29ya3NwYWNlczpEZWxldGVSb290Q2xpZW50Q2VydGlmaWNhdGVcIjtcblx0LyoqIFtUYWdnaW5nXSB3b3Jrc3BhY2VzOkRlbGV0ZVRhZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhZ3MgPSBcIndvcmtzcGFjZXM6RGVsZXRlVGFnc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkRlbGV0ZVdvcmtzcGFjZUJ1bmRsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya3NwYWNlQnVuZGxlID0gXCJ3b3Jrc3BhY2VzOkRlbGV0ZVdvcmtzcGFjZUJ1bmRsZVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkRlbGV0ZVdvcmtzcGFjZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3Jrc3BhY2VJbWFnZSA9IFwid29ya3NwYWNlczpEZWxldGVXb3Jrc3BhY2VJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkRlcGxveVdvcmtzcGFjZUFwcGxpY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVwbG95V29ya3NwYWNlQXBwbGljYXRpb25zID1cblx0XHRcIndvcmtzcGFjZXM6RGVwbG95V29ya3NwYWNlQXBwbGljYXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6RGVyZWdpc3RlcldvcmtzcGFjZURpcmVjdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlcldvcmtzcGFjZURpcmVjdG9yeSA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlcmVnaXN0ZXJXb3Jrc3BhY2VEaXJlY3RvcnlcIjtcblx0LyoqIFtSZWFkXSB3b3Jrc3BhY2VzOkRlc2NyaWJlQWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50ID0gXCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQWNjb3VudFwiO1xuXHQvKiogW1JlYWRdIHdvcmtzcGFjZXM6RGVzY3JpYmVBY2NvdW50TW9kaWZpY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50TW9kaWZpY2F0aW9ucyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQWNjb3VudE1vZGlmaWNhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkRlc2NyaWJlQXBwbGljYXRpb25Bc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwbGljYXRpb25Bc3NvY2lhdGlvbnMgPVxuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZUFwcGxpY2F0aW9uQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gd29ya3NwYWNlczpEZXNjcmliZUFwcGxpY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBsaWNhdGlvbnMgPSBcIndvcmtzcGFjZXM6RGVzY3JpYmVBcHBsaWNhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkRlc2NyaWJlQnVuZGxlQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJ1bmRsZUFzc29jaWF0aW9ucyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQnVuZGxlQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gd29ya3NwYWNlczpEZXNjcmliZUNsaWVudEJyYW5kaW5nICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsaWVudEJyYW5kaW5nID0gXCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQ2xpZW50QnJhbmRpbmdcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkRlc2NyaWJlQ2xpZW50UHJvcGVydGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbGllbnRQcm9wZXJ0aWVzID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVDbGllbnRQcm9wZXJ0aWVzXCI7XG5cdC8qKiBbTGlzdF0gd29ya3NwYWNlczpEZXNjcmliZUNvbm5lY3RDbGllbnRBZGRJbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29ubmVjdENsaWVudEFkZElucyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQ29ubmVjdENsaWVudEFkZEluc1wiO1xuXHQvKiogW1JlYWRdIHdvcmtzcGFjZXM6RGVzY3JpYmVDb25uZWN0aW9uQWxpYXNQZXJtaXNzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25uZWN0aW9uQWxpYXNQZXJtaXNzaW9ucyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQ29ubmVjdGlvbkFsaWFzUGVybWlzc2lvbnNcIjtcblx0LyoqIFtSZWFkXSB3b3Jrc3BhY2VzOkRlc2NyaWJlQ29ubmVjdGlvbkFsaWFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29ubmVjdGlvbkFsaWFzZXMgPVxuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZUNvbm5lY3Rpb25BbGlhc2VzXCI7XG5cdC8qKiBbUmVhZF0gd29ya3NwYWNlczpEZXNjcmliZUNvbnNlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uc2VudCA9IFwid29ya3NwYWNlczpEZXNjcmliZUNvbnNlbnRcIjtcblx0LyoqIFtSZWFkXSB3b3Jrc3BhY2VzOkRlc2NyaWJlQ3VzdG9tV29ya3NwYWNlSW1hZ2VJbXBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ3VzdG9tV29ya3NwYWNlSW1hZ2VJbXBvcnQgPVxuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZUN1c3RvbVdvcmtzcGFjZUltYWdlSW1wb3J0XCI7XG5cdC8qKiBbTGlzdF0gd29ya3NwYWNlczpEZXNjcmliZUltYWdlQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlQXNzb2NpYXRpb25zID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVJbWFnZUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHdvcmtzcGFjZXM6RGVzY3JpYmVJcEdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJcEdyb3VwcyA9IFwid29ya3NwYWNlczpEZXNjcmliZUlwR3JvdXBzXCI7XG5cdC8qKiBbUmVhZF0gd29ya3NwYWNlczpEZXNjcmliZVRhZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFncyA9IFwid29ya3NwYWNlczpEZXNjcmliZVRhZ3NcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZUFzc29jaWF0aW9ucyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gd29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZUJ1bmRsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3NwYWNlQnVuZGxlcyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlQnVuZGxlc1wiO1xuXHQvKiogW1JlYWRdIHdvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VEaXJlY3RvcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VEaXJlY3RvcmllcyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlRGlyZWN0b3JpZXNcIjtcblx0LyoqIFtSZWFkXSB3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlSW1hZ2VQZXJtaXNzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VJbWFnZVBlcm1pc3Npb25zID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VJbWFnZVBlcm1pc3Npb25zXCI7XG5cdC8qKiBbTGlzdF0gd29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZUltYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VJbWFnZXMgPVxuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZUltYWdlc1wiO1xuXHQvKiogW0xpc3RdIHdvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VTbmFwc2hvdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3NwYWNlU25hcHNob3RzID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VTbmFwc2hvdHNcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VzID0gXCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlc1wiO1xuXHQvKiogW1JlYWRdIHdvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VzQ29ubmVjdGlvblN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VzQ29ubmVjdGlvblN0YXR1cyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlc0Nvbm5lY3Rpb25TdGF0dXNcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlc1Bvb2xTZXNzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VzUG9vbFNlc3Npb25zID1cblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VzUG9vbFNlc3Npb25zXCI7XG5cdC8qKiBbTGlzdF0gd29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZXNQb29scyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VzUG9vbHMgPVxuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZXNQb29sc1wiO1xuXHQvKiogW0xpc3RdIHdvcmtzcGFjZXM6RGlyZWN0b3J5QWNjZXNzTWFuYWdlbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlyZWN0b3J5QWNjZXNzTWFuYWdlbWVudCA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRpcmVjdG9yeUFjY2Vzc01hbmFnZW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpEaXNhc3NvY2lhdGVDb25uZWN0aW9uQWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUNvbm5lY3Rpb25BbGlhcyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRpc2Fzc29jaWF0ZUNvbm5lY3Rpb25BbGlhc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkRpc2Fzc29jaWF0ZUlwR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVJcEdyb3VwcyA9IFwid29ya3NwYWNlczpEaXNhc3NvY2lhdGVJcEdyb3Vwc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOkRpc2Fzc29jaWF0ZVdvcmtzcGFjZUFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvbiA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkRpc2Fzc29jaWF0ZVdvcmtzcGFjZUFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbUmVhZF0gd29ya3NwYWNlczpHZXRBY2NvdW50TGluayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWNjb3VudExpbmsgPSBcIndvcmtzcGFjZXM6R2V0QWNjb3VudExpbmtcIjtcblx0LyoqIFtSZWFkXSB3b3Jrc3BhY2VzOkdldFRyb3VibGVzaG9vdGluZ1JlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUcm91Ymxlc2hvb3RpbmdSZWNvbW1lbmRhdGlvbiA9XG5cdFx0XCJ3b3Jrc3BhY2VzOkdldFRyb3VibGVzaG9vdGluZ1JlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6SW1wb3J0Q2xpZW50QnJhbmRpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydENsaWVudEJyYW5kaW5nID0gXCJ3b3Jrc3BhY2VzOkltcG9ydENsaWVudEJyYW5kaW5nXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6SW1wb3J0Q3VzdG9tV29ya3NwYWNlSW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEN1c3RvbVdvcmtzcGFjZUltYWdlID1cblx0XHRcIndvcmtzcGFjZXM6SW1wb3J0Q3VzdG9tV29ya3NwYWNlSW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpJbXBvcnRXb3Jrc3BhY2VJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0V29ya3NwYWNlSW1hZ2UgPSBcIndvcmtzcGFjZXM6SW1wb3J0V29ya3NwYWNlSW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpJbnZva2VPbmJvYXJkaW5nQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU9uYm9hcmRpbmdBZ2VudCA9IFwid29ya3NwYWNlczpJbnZva2VPbmJvYXJkaW5nQWdlbnRcIjtcblx0LyoqIFtSZWFkXSB3b3Jrc3BhY2VzOkludm9rZVRyb3VibGVzaG9vdGluZ0ludmVzdGlnYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZVRyb3VibGVzaG9vdGluZ0ludmVzdGlnYXRpb24gPVxuXHRcdFwid29ya3NwYWNlczpJbnZva2VUcm91Ymxlc2hvb3RpbmdJbnZlc3RpZ2F0aW9uXCI7XG5cdC8qKiBbTGlzdF0gd29ya3NwYWNlczpMaXN0QWNjb3VudExpbmtzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWNjb3VudExpbmtzID0gXCJ3b3Jrc3BhY2VzOkxpc3RBY2NvdW50TGlua3NcIjtcblx0LyoqIFtMaXN0XSB3b3Jrc3BhY2VzOkxpc3RBdmFpbGFibGVNYW5hZ2VtZW50Q2lkclJhbmdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF2YWlsYWJsZU1hbmFnZW1lbnRDaWRyUmFuZ2VzID1cblx0XHRcIndvcmtzcGFjZXM6TGlzdEF2YWlsYWJsZU1hbmFnZW1lbnRDaWRyUmFuZ2VzXCI7XG5cdC8qKiBbUmVhZF0gd29ya3NwYWNlczpMaXN0VHJvdWJsZXNob290aW5nUmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJvdWJsZXNob290aW5nUmVjb21tZW5kYXRpb25zID1cblx0XHRcIndvcmtzcGFjZXM6TGlzdFRyb3VibGVzaG9vdGluZ1JlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOk1pZ3JhdGVXb3Jrc3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1pZ3JhdGVXb3Jrc3BhY2UgPSBcIndvcmtzcGFjZXM6TWlncmF0ZVdvcmtzcGFjZVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOk1vZGlmeUFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUFjY291bnQgPSBcIndvcmtzcGFjZXM6TW9kaWZ5QWNjb3VudFwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOk1vZGlmeUNlcnRpZmljYXRlQmFzZWRBdXRoUHJvcGVydGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2VydGlmaWNhdGVCYXNlZEF1dGhQcm9wZXJ0aWVzID1cblx0XHRcIndvcmtzcGFjZXM6TW9kaWZ5Q2VydGlmaWNhdGVCYXNlZEF1dGhQcm9wZXJ0aWVzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6TW9kaWZ5Q2xpZW50UHJvcGVydGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2xpZW50UHJvcGVydGllcyA9IFwid29ya3NwYWNlczpNb2RpZnlDbGllbnRQcm9wZXJ0aWVzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6TW9kaWZ5RW5kcG9pbnRFbmNyeXB0aW9uTW9kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5RW5kcG9pbnRFbmNyeXB0aW9uTW9kZSA9XG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeUVuZHBvaW50RW5jcnlwdGlvbk1vZGVcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpNb2RpZnlTYW1sUHJvcGVydGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5U2FtbFByb3BlcnRpZXMgPSBcIndvcmtzcGFjZXM6TW9kaWZ5U2FtbFByb3BlcnRpZXNcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gd29ya3NwYWNlczpNb2RpZnlTZWxmc2VydmljZVBlcm1pc3Npb25zICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlTZWxmc2VydmljZVBlcm1pc3Npb25zID1cblx0XHRcIndvcmtzcGFjZXM6TW9kaWZ5U2VsZnNlcnZpY2VQZXJtaXNzaW9uc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOk1vZGlmeVN0cmVhbWluZ1Byb3BlcnRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVN0cmVhbWluZ1Byb3BlcnRpZXMgPVxuXHRcdFwid29ya3NwYWNlczpNb2RpZnlTdHJlYW1pbmdQcm9wZXJ0aWVzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6TW9kaWZ5V29ya3NwYWNlQWNjZXNzUHJvcGVydGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5V29ya3NwYWNlQWNjZXNzUHJvcGVydGllcyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeVdvcmtzcGFjZUFjY2Vzc1Byb3BlcnRpZXNcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpNb2RpZnlXb3Jrc3BhY2VDcmVhdGlvblByb3BlcnRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVdvcmtzcGFjZUNyZWF0aW9uUHJvcGVydGllcyA9XG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeVdvcmtzcGFjZUNyZWF0aW9uUHJvcGVydGllc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOk1vZGlmeVdvcmtzcGFjZVByb3BlcnRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVdvcmtzcGFjZVByb3BlcnRpZXMgPVxuXHRcdFwid29ya3NwYWNlczpNb2RpZnlXb3Jrc3BhY2VQcm9wZXJ0aWVzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6TW9kaWZ5V29ya3NwYWNlU3RhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVdvcmtzcGFjZVN0YXRlID0gXCJ3b3Jrc3BhY2VzOk1vZGlmeVdvcmtzcGFjZVN0YXRlXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6UGVyc29uYWxpemF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBQZXJzb25hbGl6YXRpb24gPSBcIndvcmtzcGFjZXM6UGVyc29uYWxpemF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6UmVib290V29ya3NwYWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290V29ya3NwYWNlcyA9IFwid29ya3NwYWNlczpSZWJvb3RXb3Jrc3BhY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6UmVidWlsZFdvcmtzcGFjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYnVpbGRXb3Jrc3BhY2VzID0gXCJ3b3Jrc3BhY2VzOlJlYnVpbGRXb3Jrc3BhY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6UmVnaXN0ZXJXb3Jrc3BhY2VEaXJlY3RvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyV29ya3NwYWNlRGlyZWN0b3J5ID1cblx0XHRcIndvcmtzcGFjZXM6UmVnaXN0ZXJXb3Jrc3BhY2VEaXJlY3RvcnlcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpSZWplY3RBY2NvdW50TGlua0ludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdEFjY291bnRMaW5rSW52aXRhdGlvbiA9XG5cdFx0XCJ3b3Jrc3BhY2VzOlJlamVjdEFjY291bnRMaW5rSW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlJlc3RvcmVXb3Jrc3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc3RvcmVXb3Jrc3BhY2UgPSBcIndvcmtzcGFjZXM6UmVzdG9yZVdvcmtzcGFjZVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlJldm9rZUlwUnVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldm9rZUlwUnVsZXMgPSBcIndvcmtzcGFjZXM6UmV2b2tlSXBSdWxlc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlN0YXJ0V29ya3NwYWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRXb3Jrc3BhY2VzID0gXCJ3b3Jrc3BhY2VzOlN0YXJ0V29ya3NwYWNlc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlN0YXJ0V29ya3NwYWNlc1Bvb2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0V29ya3NwYWNlc1Bvb2wgPSBcIndvcmtzcGFjZXM6U3RhcnRXb3Jrc3BhY2VzUG9vbFwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlN0b3BXb3Jrc3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wV29ya3NwYWNlcyA9IFwid29ya3NwYWNlczpTdG9wV29ya3NwYWNlc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlN0b3BXb3Jrc3BhY2VzUG9vbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFdvcmtzcGFjZXNQb29sID0gXCJ3b3Jrc3BhY2VzOlN0b3BXb3Jrc3BhY2VzUG9vbFwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RyZWFtID0gXCJ3b3Jrc3BhY2VzOlN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlRlcm1pbmF0ZVdvcmtzcGFjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZVdvcmtzcGFjZXMgPSBcIndvcmtzcGFjZXM6VGVybWluYXRlV29ya3NwYWNlc1wiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVXb3Jrc3BhY2VzUG9vbCA9XG5cdFx0XCJ3b3Jrc3BhY2VzOlRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6VGVybWluYXRlV29ya3NwYWNlc1Bvb2xTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVXb3Jrc3BhY2VzUG9vbFNlc3Npb24gPVxuXHRcdFwid29ya3NwYWNlczpUZXJtaW5hdGVXb3Jrc3BhY2VzUG9vbFNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpVcGRhdGVDb25uZWN0Q2xpZW50QWRkSW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3RDbGllbnRBZGRJbiA9XG5cdFx0XCJ3b3Jrc3BhY2VzOlVwZGF0ZUNvbm5lY3RDbGllbnRBZGRJblwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSB3b3Jrc3BhY2VzOlVwZGF0ZUNvbm5lY3Rpb25BbGlhc1Blcm1pc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3Rpb25BbGlhc1Blcm1pc3Npb24gPVxuXHRcdFwid29ya3NwYWNlczpVcGRhdGVDb25uZWN0aW9uQWxpYXNQZXJtaXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6VXBkYXRlQ29uc2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uc2VudCA9IFwid29ya3NwYWNlczpVcGRhdGVDb25zZW50XCI7XG5cdC8qKiBbV3JpdGVdIHdvcmtzcGFjZXM6VXBkYXRlUm9vdENsaWVudENlcnRpZmljYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSb290Q2xpZW50Q2VydGlmaWNhdGUgPVxuXHRcdFwid29ya3NwYWNlczpVcGRhdGVSb290Q2xpZW50Q2VydGlmaWNhdGVcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpVcGRhdGVSdWxlc09mSXBHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUnVsZXNPZklwR3JvdXAgPSBcIndvcmtzcGFjZXM6VXBkYXRlUnVsZXNPZklwR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gd29ya3NwYWNlczpVcGRhdGVXb3Jrc3BhY2VCdW5kbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtzcGFjZUJ1bmRsZSA9IFwid29ya3NwYWNlczpVcGRhdGVXb3Jrc3BhY2VCdW5kbGVcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gd29ya3NwYWNlczpVcGRhdGVXb3Jrc3BhY2VJbWFnZVBlcm1pc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvbiA9XG5cdFx0XCJ3b3Jrc3BhY2VzOlVwZGF0ZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvblwiO1xuXHQvKiogW1dyaXRlXSB3b3Jrc3BhY2VzOlVwZGF0ZVdvcmtzcGFjZXNQb29sICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3Jrc3BhY2VzUG9vbCA9IFwid29ya3NwYWNlczpVcGRhdGVXb3Jrc3BhY2VzUG9vbFwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlQWNjb3VudCxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZUFjY291bnRNb2RpZmljYXRpb25zLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlQ2xpZW50QnJhbmRpbmcsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVDb25uZWN0aW9uQWxpYXNQZXJtaXNzaW9ucyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZUNvbm5lY3Rpb25BbGlhc2VzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlQ29uc2VudCxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZUN1c3RvbVdvcmtzcGFjZUltYWdlSW1wb3J0LFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlSXBHcm91cHMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVUYWdzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlV29ya3NwYWNlRGlyZWN0b3JpZXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVXb3Jrc3BhY2VJbWFnZVBlcm1pc3Npb25zLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlV29ya3NwYWNlc0Nvbm5lY3Rpb25TdGF0dXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuYWN0aW9uR2V0QWNjb3VudExpbmssXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuYWN0aW9uR2V0VHJvdWJsZXNob290aW5nUmVjb21tZW5kYXRpb24sXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuSW52b2tlVHJvdWJsZXNob290aW5nSW52ZXN0aWdhdGlvbixcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5MaXN0VHJvdWJsZXNob290aW5nUmVjb21tZW5kYXRpb25zLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkFjY2VwdEFjY291bnRMaW5rSW52aXRhdGlvbixcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5Bc3NvY2lhdGVDb25uZWN0aW9uQWxpYXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQXNzb2NpYXRlSXBHcm91cHMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb24sXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQXV0aG9yaXplSXBSdWxlcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5Db3B5V29ya3NwYWNlSW1hZ2UsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQ3JlYXRlQWNjb3VudExpbmtJbnZpdGF0aW9uLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkNyZWF0ZUNvbm5lY3RDbGllbnRBZGRJbixcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uQWxpYXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQ3JlYXRlSXBHcm91cCxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5DcmVhdGVSb290Q2xpZW50Q2VydGlmaWNhdGUsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQ3JlYXRlU3RhbmRieVdvcmtzcGFjZXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQ3JlYXRlVXBkYXRlZFdvcmtzcGFjZUltYWdlLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkNyZWF0ZVdvcmtzcGFjZUJ1bmRsZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5DcmVhdGVXb3Jrc3BhY2VJbWFnZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5DcmVhdGVXb3Jrc3BhY2VzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkNyZWF0ZVdvcmtzcGFjZXNQb29sLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlbGV0ZUFjY291bnRMaW5rSW52aXRhdGlvbixcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZWxldGVDbGllbnRCcmFuZGluZyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZWxldGVDb25uZWN0Q2xpZW50QWRkSW4sXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVsZXRlQ29ubmVjdGlvbkFsaWFzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlbGV0ZUlwR3JvdXAsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVsZXRlUm9vdENsaWVudENlcnRpZmljYXRlLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlbGV0ZVdvcmtzcGFjZUJ1bmRsZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZWxldGVXb3Jrc3BhY2VJbWFnZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXBsb3lXb3Jrc3BhY2VBcHBsaWNhdGlvbnMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVyZWdpc3RlcldvcmtzcGFjZURpcmVjdG9yeSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EaXNhc3NvY2lhdGVDb25uZWN0aW9uQWxpYXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGlzYXNzb2NpYXRlSXBHcm91cHMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGlzYXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb24sXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuSW1wb3J0Q2xpZW50QnJhbmRpbmcsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuSW1wb3J0Q3VzdG9tV29ya3NwYWNlSW1hZ2UsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuSW1wb3J0V29ya3NwYWNlSW1hZ2UsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuSW52b2tlT25ib2FyZGluZ0FnZW50LFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLk1pZ3JhdGVXb3Jrc3BhY2UsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuTW9kaWZ5QWNjb3VudCxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5Nb2RpZnlDZXJ0aWZpY2F0ZUJhc2VkQXV0aFByb3BlcnRpZXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuTW9kaWZ5Q2xpZW50UHJvcGVydGllcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5Nb2RpZnlFbmRwb2ludEVuY3J5cHRpb25Nb2RlLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLk1vZGlmeVNhbWxQcm9wZXJ0aWVzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLk1vZGlmeVN0cmVhbWluZ1Byb3BlcnRpZXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuTW9kaWZ5V29ya3NwYWNlQWNjZXNzUHJvcGVydGllcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5Nb2RpZnlXb3Jrc3BhY2VDcmVhdGlvblByb3BlcnRpZXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuTW9kaWZ5V29ya3NwYWNlUHJvcGVydGllcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5Nb2RpZnlXb3Jrc3BhY2VTdGF0ZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5QZXJzb25hbGl6YXRpb24sXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuUmVib290V29ya3NwYWNlcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5SZWJ1aWxkV29ya3NwYWNlcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5SZWdpc3RlcldvcmtzcGFjZURpcmVjdG9yeSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5SZWplY3RBY2NvdW50TGlua0ludml0YXRpb24sXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuUmVzdG9yZVdvcmtzcGFjZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5SZXZva2VJcFJ1bGVzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlN0YXJ0V29ya3NwYWNlcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5TdGFydFdvcmtzcGFjZXNQb29sLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlN0b3BXb3Jrc3BhY2VzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlN0b3BXb3Jrc3BhY2VzUG9vbCxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5TdHJlYW0sXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuVGVybWluYXRlV29ya3NwYWNlcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5UZXJtaW5hdGVXb3Jrc3BhY2VzUG9vbCxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5UZXJtaW5hdGVXb3Jrc3BhY2VzUG9vbFNlc3Npb24sXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuVXBkYXRlQ29ubmVjdENsaWVudEFkZEluLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlVwZGF0ZUNvbnNlbnQsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuVXBkYXRlUm9vdENsaWVudENlcnRpZmljYXRlLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlVwZGF0ZVJ1bGVzT2ZJcEdyb3VwLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlVwZGF0ZVdvcmtzcGFjZUJ1bmRsZSxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5VcGRhdGVXb3Jrc3BhY2VzUG9vbCxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVBcHBsaWNhdGlvbkFzc29jaWF0aW9ucyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZUFwcGxpY2F0aW9ucyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZUJ1bmRsZUFzc29jaWF0aW9ucyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZUNsaWVudFByb3BlcnRpZXMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVDb25uZWN0Q2xpZW50QWRkSW5zLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlSW1hZ2VBc3NvY2lhdGlvbnMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVXb3Jrc3BhY2VBc3NvY2lhdGlvbnMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVXb3Jrc3BhY2VCdW5kbGVzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlV29ya3NwYWNlSW1hZ2VzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlV29ya3NwYWNlU25hcHNob3RzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkRlc2NyaWJlV29ya3NwYWNlcyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZXNjcmliZVdvcmtzcGFjZXNQb29sU2Vzc2lvbnMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGVzY3JpYmVXb3Jrc3BhY2VzUG9vbHMsXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuRGlyZWN0b3J5QWNjZXNzTWFuYWdlbWVudCxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5MaXN0QWNjb3VudExpbmtzLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLkxpc3RBdmFpbGFibGVNYW5hZ2VtZW50Q2lkclJhbmdlcyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuTW9kaWZ5U2VsZnNlcnZpY2VQZXJtaXNzaW9ucyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5VcGRhdGVDb25uZWN0aW9uQWxpYXNQZXJtaXNzaW9uLFxuXHRcdFdvcmtTcGFjZXNBY3Rpb25zLlVwZGF0ZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvbixcblx0XTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0V29ya1NwYWNlc0FjdGlvbnMuQ3JlYXRlVGFncyxcblx0XHRXb3JrU3BhY2VzQWN0aW9ucy5EZWxldGVUYWdzLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2VydGlmaWNhdGVpZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc0NlcnRpZmljYXRlaWRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2VydGlmaWNhdGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2VydGlmaWNhdGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNlcnRpZmljYXRlaWQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtTcGFjZXNDZXJ0aWZpY2F0ZWlkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDZXJ0aWZpY2F0ZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2VydGlmaWNhdGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29ubmVjdGlvbmFsaWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrU3BhY2VzQ29ubmVjdGlvbmFsaWFzQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbm5lY3Rpb25BbGlhc0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25uZWN0aW9uQWxpYXNJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbm5lY3Rpb25hbGlhcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc0Nvbm5lY3Rpb25hbGlhc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29ubmVjdGlvbkFsaWFzSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25uZWN0aW9uQWxpYXNJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGlyZWN0b3J5aWQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtTcGFjZXNEaXJlY3RvcnlpZEFyblByb3BzIHtcblx0LyoqIFRoZSBEaXJlY3RvcnlJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGlyZWN0b3J5SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkaXJlY3RvcnlpZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc0RpcmVjdG9yeWlkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEaXJlY3RvcnlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRpcmVjdG9yeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB3b3Jrc3BhY2VhcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWFwcGxpY2F0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFdvcmtTcGFjZUFwcGxpY2F0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHdvcmtTcGFjZUFwcGxpY2F0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3Jrc3BhY2VhcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBXb3JrU3BhY2VBcHBsaWNhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgd29ya1NwYWNlQXBwbGljYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya3NwYWNlYnVuZGxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrU3BhY2VzV29ya3NwYWNlYnVuZGxlQXJuUHJvcHMge1xuXHQvKiogVGhlIEJ1bmRsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBidW5kbGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmtzcGFjZWJ1bmRsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWJ1bmRsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQnVuZGxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBidW5kbGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya3NwYWNlaWQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtTcGFjZXNXb3Jrc3BhY2VpZEFyblByb3BzIHtcblx0LyoqIFRoZSBXb3Jrc3BhY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgd29ya3NwYWNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3Jrc3BhY2VpZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWlkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBXb3Jrc3BhY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHdvcmtzcGFjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB3b3Jrc3BhY2VpbWFnZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWltYWdlQXJuUHJvcHMge1xuXHQvKiogVGhlIEltYWdlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGltYWdlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3Jrc3BhY2VpbWFnZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWltYWdlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbWFnZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW1hZ2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya3NwYWNlaXBncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1NwYWNlc1dvcmtzcGFjZWlwZ3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgR3JvdXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZ3JvdXBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmtzcGFjZWlwZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtTcGFjZXNXb3Jrc3BhY2VpcGdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBHcm91cElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZ3JvdXBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya3NwYWNlc3Bvb2wgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtTcGFjZXNXb3Jrc3BhY2VzcG9vbEFyblByb3BzIHtcblx0LyoqIFRoZSBQb29sSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBvb2xJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmtzcGFjZXNwb29sIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrU3BhY2VzV29ya3NwYWNlc3Bvb2xBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFBvb2xJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBvb2xJZDogc3RyaW5nO1xufVxuXG5jb25zdCBDZXJ0aWZpY2F0ZWlkQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOndvcmtzcGFjZXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3Jrc3BhY2VjZXJ0aWZpY2F0ZVxcLyg/PGNlcnRpZmljYXRlSWQ+W146Lz9dKykkLztcbmNvbnN0IENvbm5lY3Rpb25hbGlhc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTp3b3Jrc3BhY2VzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29ubmVjdGlvbmFsaWFzXFwvKD88Y29ubmVjdGlvbkFsaWFzSWQ+W146Lz9dKykkLztcbmNvbnN0IERpcmVjdG9yeWlkQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOndvcmtzcGFjZXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkaXJlY3RvcnlcXC8oPzxkaXJlY3RvcnlJZD5bXjovP10rKSQvO1xuY29uc3QgV29ya3NwYWNlYXBwbGljYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6d29ya3NwYWNlczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOndvcmtzcGFjZWFwcGxpY2F0aW9uXFwvKD88d29ya1NwYWNlQXBwbGljYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgV29ya3NwYWNlYnVuZGxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOndvcmtzcGFjZXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3Jrc3BhY2VidW5kbGVcXC8oPzxidW5kbGVJZD5bXjovP10rKSQvO1xuY29uc3QgV29ya3NwYWNlaWRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6d29ya3NwYWNlczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOndvcmtzcGFjZVxcLyg/PHdvcmtzcGFjZUlkPlteOi8/XSspJC87XG5jb25zdCBXb3Jrc3BhY2VpbWFnZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTp3b3Jrc3BhY2VzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya3NwYWNlaW1hZ2VcXC8oPzxpbWFnZUlkPlteOi8/XSspJC87XG5jb25zdCBXb3Jrc3BhY2VpcGdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOndvcmtzcGFjZXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3Jrc3BhY2VpcGdyb3VwXFwvKD88Z3JvdXBJZD5bXjovP10rKSQvO1xuY29uc3QgV29ya3NwYWNlc3Bvb2xBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6d29ya3NwYWNlczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOndvcmtzcGFjZXNwb29sXFwvKD88cG9vbElkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3Igd29ya3NwYWNlcyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBXb3JrU3BhY2VzUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjZXJ0aWZpY2F0ZWlkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNlcnRpZmljYXRlaWQocHJvcHM6IFdvcmtTcGFjZXNDZXJ0aWZpY2F0ZWlkQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OndvcmtzcGFjZXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya3NwYWNlY2VydGlmaWNhdGUvJHtwcm9wcy5jZXJ0aWZpY2F0ZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjZXJ0aWZpY2F0ZWlkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDZXJ0aWZpY2F0ZWlkQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENlcnRpZmljYXRlaWRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2VydGlmaWNhdGVpZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDZXJ0aWZpY2F0ZWlkQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBXb3JrU3BhY2VzQ2VydGlmaWNhdGVpZEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2VydGlmaWNhdGVpZEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjZXJ0aWZpY2F0ZWlkIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNlcnRpZmljYXRlSWQ6IG1hdGNoLmdyb3VwcyEuY2VydGlmaWNhdGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb25uZWN0aW9uYWxpYXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdGlvbmFsaWFzKHByb3BzOiBXb3JrU3BhY2VzQ29ubmVjdGlvbmFsaWFzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OndvcmtzcGFjZXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29ubmVjdGlvbmFsaWFzLyR7cHJvcHMuY29ubmVjdGlvbkFsaWFzSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbm5lY3Rpb25hbGlhcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29ubmVjdGlvbmFsaWFzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbm5lY3Rpb25hbGlhc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb25uZWN0aW9uYWxpYXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29ubmVjdGlvbmFsaWFzQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBXb3JrU3BhY2VzQ29ubmVjdGlvbmFsaWFzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25uZWN0aW9uYWxpYXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29ubmVjdGlvbmFsaWFzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbm5lY3Rpb25BbGlhc0lkOiBtYXRjaC5ncm91cHMhLmNvbm5lY3Rpb25BbGlhc0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRpcmVjdG9yeWlkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRpcmVjdG9yeWlkKHByb3BzOiBXb3JrU3BhY2VzRGlyZWN0b3J5aWRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06d29ya3NwYWNlczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkaXJlY3RvcnkvJHtwcm9wcy5kaXJlY3RvcnlJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGlyZWN0b3J5aWQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERpcmVjdG9yeWlkQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERpcmVjdG9yeWlkQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRpcmVjdG9yeWlkIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURpcmVjdG9yeWlkQXJuKGFybjogc3RyaW5nKTogV29ya1NwYWNlc0RpcmVjdG9yeWlkQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEaXJlY3RvcnlpZEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkaXJlY3RvcnlpZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkaXJlY3RvcnlJZDogbWF0Y2guZ3JvdXBzIS5kaXJlY3RvcnlJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3Jrc3BhY2VhcHBsaWNhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3Jrc3BhY2VhcHBsaWNhdGlvbihcblx0XHRwcm9wczogV29ya1NwYWNlc1dvcmtzcGFjZWFwcGxpY2F0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06d29ya3NwYWNlczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3b3Jrc3BhY2VhcHBsaWNhdGlvbi8ke3Byb3BzLndvcmtTcGFjZUFwcGxpY2F0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdvcmtzcGFjZWFwcGxpY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRXb3Jrc3BhY2VhcHBsaWNhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3Jrc3BhY2VhcHBsaWNhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3Jrc3BhY2VhcHBsaWNhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXb3Jrc3BhY2VhcHBsaWNhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogV29ya1NwYWNlc1dvcmtzcGFjZWFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3Jrc3BhY2VhcHBsaWNhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3b3Jrc3BhY2VhcHBsaWNhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR3b3JrU3BhY2VBcHBsaWNhdGlvbklkOiBtYXRjaC5ncm91cHMhLndvcmtTcGFjZUFwcGxpY2F0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd29ya3NwYWNlYnVuZGxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmtzcGFjZWJ1bmRsZShwcm9wczogV29ya1NwYWNlc1dvcmtzcGFjZWJ1bmRsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp3b3Jrc3BhY2VzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OndvcmtzcGFjZWJ1bmRsZS8ke3Byb3BzLmJ1bmRsZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3b3Jrc3BhY2VidW5kbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtzcGFjZWJ1bmRsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3Jrc3BhY2VidW5kbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgd29ya3NwYWNlYnVuZGxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtzcGFjZWJ1bmRsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogV29ya1NwYWNlc1dvcmtzcGFjZWJ1bmRsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV29ya3NwYWNlYnVuZGxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmtzcGFjZWJ1bmRsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRidW5kbGVJZDogbWF0Y2guZ3JvdXBzIS5idW5kbGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3Jrc3BhY2VpZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3Jrc3BhY2VpZChwcm9wczogV29ya1NwYWNlc1dvcmtzcGFjZWlkQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OndvcmtzcGFjZXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya3NwYWNlLyR7cHJvcHMud29ya3NwYWNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdvcmtzcGFjZWlkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRXb3Jrc3BhY2VpZEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3Jrc3BhY2VpZEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3Jrc3BhY2VpZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXb3Jrc3BhY2VpZEFybihhcm46IHN0cmluZyk6IFdvcmtTcGFjZXNXb3Jrc3BhY2VpZEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV29ya3NwYWNlaWRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd29ya3NwYWNlaWQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0d29ya3NwYWNlSWQ6IG1hdGNoLmdyb3VwcyEud29ya3NwYWNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd29ya3NwYWNlaW1hZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgd29ya3NwYWNlaW1hZ2UocHJvcHM6IFdvcmtTcGFjZXNXb3Jrc3BhY2VpbWFnZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp3b3Jrc3BhY2VzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OndvcmtzcGFjZWltYWdlLyR7cHJvcHMuaW1hZ2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgd29ya3NwYWNlaW1hZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtzcGFjZWltYWdlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFdvcmtzcGFjZWltYWdlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdvcmtzcGFjZWltYWdlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtzcGFjZWltYWdlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBXb3JrU3BhY2VzV29ya3NwYWNlaW1hZ2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdvcmtzcGFjZWltYWdlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmtzcGFjZWltYWdlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGltYWdlSWQ6IG1hdGNoLmdyb3VwcyEuaW1hZ2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3Jrc3BhY2VpcGdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmtzcGFjZWlwZ3JvdXAocHJvcHM6IFdvcmtTcGFjZXNXb3Jrc3BhY2VpcGdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OndvcmtzcGFjZXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya3NwYWNlaXBncm91cC8ke3Byb3BzLmdyb3VwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdvcmtzcGFjZWlwZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtzcGFjZWlwZ3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV29ya3NwYWNlaXBncm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3Jrc3BhY2VpcGdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtzcGFjZWlwZ3JvdXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFdvcmtTcGFjZXNXb3Jrc3BhY2VpcGdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3Jrc3BhY2VpcGdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmtzcGFjZWlwZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Z3JvdXBJZDogbWF0Y2guZ3JvdXBzIS5ncm91cElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHdvcmtzcGFjZXNwb29sIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmtzcGFjZXNwb29sKHByb3BzOiBXb3JrU3BhY2VzV29ya3NwYWNlc3Bvb2xBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06d29ya3NwYWNlczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3b3Jrc3BhY2VzcG9vbC8ke3Byb3BzLnBvb2xJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgd29ya3NwYWNlc3Bvb2wgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtzcGFjZXNwb29sQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFdvcmtzcGFjZXNwb29sQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdvcmtzcGFjZXNwb29sIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtzcGFjZXNwb29sQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBXb3JrU3BhY2VzV29ya3NwYWNlc3Bvb2xBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdvcmtzcGFjZXNwb29sQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmtzcGFjZXNwb29sIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBvb2xJZDogbWF0Y2guZ3JvdXBzIS5wb29sSWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3Igd29ya3NwYWNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFdvcmtTcGFjZXNPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWNjZXB0QWNjb3VudExpbmtJbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0QWNjb3VudExpbmtJbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6QWNjZXB0QWNjb3VudExpbmtJbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZUNvbm5lY3Rpb25BbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUNvbm5lY3Rpb25BbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkFzc29jaWF0ZUNvbm5lY3Rpb25BbGlhc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVJcEdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUlwR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6QXNzb2NpYXRlSXBHcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkFzc29jaWF0ZVdvcmtzcGFjZUFwcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEF1dGhvcml6ZUlwUnVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBdXRob3JpemVJcFJ1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6QXV0aG9yaXplSXBSdWxlc1wiLFxuXHRcdFwid29ya3NwYWNlczpVcGRhdGVSdWxlc09mSXBHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb3B5V29ya3NwYWNlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5V29ya3NwYWNlSW1hZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpDb3B5V29ya3NwYWNlSW1hZ2VcIixcblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlVGFnc1wiLFxuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZUltYWdlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBY2NvdW50TGlua0ludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY2NvdW50TGlua0ludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpDcmVhdGVBY2NvdW50TGlua0ludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29ubmVjdENsaWVudEFkZEluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdENsaWVudEFkZEluOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlQ29ubmVjdENsaWVudEFkZEluXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbm5lY3Rpb25BbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rpb25BbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZUNvbm5lY3Rpb25BbGlhc1wiLFxuXHRcdFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUlwR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJcEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlSXBHcm91cFwiLFxuXHRcdFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVN0YW5kYnlXb3Jrc3BhY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3RhbmRieVdvcmtzcGFjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpDcmVhdGVTdGFuZGJ5V29ya3NwYWNlc1wiLFxuXHRcdFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCIsXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUYWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGFnczogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOkNyZWF0ZVRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVwZGF0ZWRXb3Jrc3BhY2VJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVwZGF0ZWRXb3Jrc3BhY2VJbWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVRhZ3NcIixcblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlVXBkYXRlZFdvcmtzcGFjZUltYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtzcGFjZUJ1bmRsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtzcGFjZUJ1bmRsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVRhZ3NcIixcblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlV29ya3NwYWNlQnVuZGxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtzcGFjZUltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya3NwYWNlSW1hZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCIsXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVdvcmtzcGFjZUltYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtzcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3Jrc3BhY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6Q3JlYXRlVGFnc1wiLFxuXHRcdFwid29ya3NwYWNlczpDcmVhdGVXb3Jrc3BhY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtzcGFjZXNQb29sIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya3NwYWNlc1Bvb2w6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCIsXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVdvcmtzcGFjZXNQb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFjY291bnRMaW5rSW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjY291bnRMaW5rSW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlbGV0ZUFjY291bnRMaW5rSW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDbGllbnRCcmFuZGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsaWVudEJyYW5kaW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVsZXRlQ2xpZW50QnJhbmRpbmdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29ubmVjdENsaWVudEFkZEluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29ubmVjdENsaWVudEFkZEluOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVsZXRlQ29ubmVjdENsaWVudEFkZEluXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbm5lY3Rpb25BbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3Rpb25BbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlbGV0ZUNvbm5lY3Rpb25BbGlhc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJcEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSXBHcm91cDogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOkRlbGV0ZUlwR3JvdXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYWdzOiBzdHJpbmdbXSA9IFtcIndvcmtzcGFjZXM6RGVsZXRlVGFnc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlV29ya3NwYWNlQnVuZGxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya3NwYWNlQnVuZGxlOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVsZXRlV29ya3NwYWNlQnVuZGxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVdvcmtzcGFjZUltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya3NwYWNlSW1hZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZWxldGVXb3Jrc3BhY2VJbWFnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXBsb3lXb3Jrc3BhY2VBcHBsaWNhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXBsb3lXb3Jrc3BhY2VBcHBsaWNhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXBsb3lXb3Jrc3BhY2VBcHBsaWNhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlcldvcmtzcGFjZURpcmVjdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJXb3Jrc3BhY2VEaXJlY3Rvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXJlZ2lzdGVyV29ya3NwYWNlRGlyZWN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWNjb3VudDogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQWNjb3VudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY2NvdW50TW9kaWZpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWNjb3VudE1vZGlmaWNhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZUFjY291bnRNb2RpZmljYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwbGljYXRpb25Bc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcGxpY2F0aW9uQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVBcHBsaWNhdGlvbkFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcGxpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwbGljYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVBcHBsaWNhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVCdW5kbGVBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJ1bmRsZUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQnVuZGxlQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2xpZW50QnJhbmRpbmcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsaWVudEJyYW5kaW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVDbGllbnRCcmFuZGluZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNsaWVudFByb3BlcnRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsaWVudFByb3BlcnRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZUNsaWVudFByb3BlcnRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25uZWN0Q2xpZW50QWRkSW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25uZWN0Q2xpZW50QWRkSW5zOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVDb25uZWN0Q2xpZW50QWRkSW5zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29ubmVjdGlvbkFsaWFzUGVybWlzc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbm5lY3Rpb25BbGlhc1Blcm1pc3Npb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVDb25uZWN0aW9uQWxpYXNQZXJtaXNzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbm5lY3Rpb25BbGlhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25uZWN0aW9uQWxpYXNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlQ29ubmVjdGlvbkFsaWFzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDdXN0b21Xb3Jrc3BhY2VJbWFnZUltcG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ3VzdG9tV29ya3NwYWNlSW1hZ2VJbXBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZUN1c3RvbVdvcmtzcGFjZUltYWdlSW1wb3J0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW1hZ2VBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVJbWFnZUFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUlwR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJcEdyb3Vwczogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOkRlc2NyaWJlSXBHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGFncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFnczogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOkRlc2NyaWJlVGFnc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3Jrc3BhY2VBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlV29ya3NwYWNlQnVuZGxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3NwYWNlQnVuZGxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlQnVuZGxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVdvcmtzcGFjZURpcmVjdG9yaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VEaXJlY3Rvcmllczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlRGlyZWN0b3JpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3Jrc3BhY2VJbWFnZVBlcm1pc3Npb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VJbWFnZVBlcm1pc3Npb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VJbWFnZVBlcm1pc3Npb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlV29ya3NwYWNlSW1hZ2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VJbWFnZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZUltYWdlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVdvcmtzcGFjZVNuYXBzaG90cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3NwYWNlU25hcHNob3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VTbmFwc2hvdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3Jrc3BhY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3Jrc3BhY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlV29ya3NwYWNlc0Nvbm5lY3Rpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZXNDb25uZWN0aW9uU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGVzY3JpYmVXb3Jrc3BhY2VzQ29ubmVjdGlvblN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVdvcmtzcGFjZXNQb29sU2Vzc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZXNQb29sU2Vzc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpEZXNjcmliZVdvcmtzcGFjZXNQb29sU2Vzc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3Jrc3BhY2VzUG9vbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZXNQb29sczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRlc2NyaWJlV29ya3NwYWNlc1Bvb2xzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUNvbm5lY3Rpb25BbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUNvbm5lY3Rpb25BbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRpc2Fzc29jaWF0ZUNvbm5lY3Rpb25BbGlhc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVJcEdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUlwR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6RGlzYXNzb2NpYXRlSXBHcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkRpc2Fzc29jaWF0ZVdvcmtzcGFjZUFwcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFjY291bnRMaW5rIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBY2NvdW50TGluazogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOkdldEFjY291bnRMaW5rXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbXBvcnRDbGllbnRCcmFuZGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydENsaWVudEJyYW5kaW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6SW1wb3J0Q2xpZW50QnJhbmRpbmdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW1wb3J0Q3VzdG9tV29ya3NwYWNlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRDdXN0b21Xb3Jrc3BhY2VJbWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVRhZ3NcIixcblx0XHRcIndvcmtzcGFjZXM6SW1wb3J0Q3VzdG9tV29ya3NwYWNlSW1hZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW1wb3J0V29ya3NwYWNlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRXb3Jrc3BhY2VJbWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOkNyZWF0ZVRhZ3NcIixcblx0XHRcIndvcmtzcGFjZXM6SW1wb3J0V29ya3NwYWNlSW1hZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjY291bnRMaW5rcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBY2NvdW50TGlua3M6IHN0cmluZ1tdID0gW1wid29ya3NwYWNlczpMaXN0QWNjb3VudExpbmtzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXZhaWxhYmxlTWFuYWdlbWVudENpZHJSYW5nZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXZhaWxhYmxlTWFuYWdlbWVudENpZHJSYW5nZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpMaXN0QXZhaWxhYmxlTWFuYWdlbWVudENpZHJSYW5nZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTWlncmF0ZVdvcmtzcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1pZ3JhdGVXb3Jrc3BhY2U6IHN0cmluZ1tdID0gW1wid29ya3NwYWNlczpNaWdyYXRlV29ya3NwYWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlBY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5QWNjb3VudDogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOk1vZGlmeUFjY291bnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeUNlcnRpZmljYXRlQmFzZWRBdXRoUHJvcGVydGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUNlcnRpZmljYXRlQmFzZWRBdXRoUHJvcGVydGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeUNlcnRpZmljYXRlQmFzZWRBdXRoUHJvcGVydGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlDbGllbnRQcm9wZXJ0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2xpZW50UHJvcGVydGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeUNsaWVudFByb3BlcnRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5RW5kcG9pbnRFbmNyeXB0aW9uTW9kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUVuZHBvaW50RW5jcnlwdGlvbk1vZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpNb2RpZnlFbmRwb2ludEVuY3J5cHRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVNhbWxQcm9wZXJ0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5U2FtbFByb3BlcnRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpNb2RpZnlTYW1sUHJvcGVydGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlTZWxmc2VydmljZVBlcm1pc3Npb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5U2VsZnNlcnZpY2VQZXJtaXNzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeVNlbGZzZXJ2aWNlUGVybWlzc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5U3RyZWFtaW5nUHJvcGVydGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVN0cmVhbWluZ1Byb3BlcnRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpNb2RpZnlTdHJlYW1pbmdQcm9wZXJ0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVdvcmtzcGFjZUFjY2Vzc1Byb3BlcnRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlXb3Jrc3BhY2VBY2Nlc3NQcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6TW9kaWZ5V29ya3NwYWNlQWNjZXNzUHJvcGVydGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlXb3Jrc3BhY2VDcmVhdGlvblByb3BlcnRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlXb3Jrc3BhY2VDcmVhdGlvblByb3BlcnRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpNb2RpZnlXb3Jrc3BhY2VDcmVhdGlvblByb3BlcnRpZXNcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlXb3Jrc3BhY2VQcm9wZXJ0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5V29ya3NwYWNlUHJvcGVydGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeVdvcmtzcGFjZVByb3BlcnRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5V29ya3NwYWNlU3RhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlXb3Jrc3BhY2VTdGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOk1vZGlmeVdvcmtzcGFjZVN0YXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlYm9vdFdvcmtzcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJvb3RXb3Jrc3BhY2VzOiBzdHJpbmdbXSA9IFtcIndvcmtzcGFjZXM6UmVib290V29ya3NwYWNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVidWlsZFdvcmtzcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJ1aWxkV29ya3NwYWNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlJlYnVpbGRXb3Jrc3BhY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyV29ya3NwYWNlRGlyZWN0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJXb3Jrc3BhY2VEaXJlY3Rvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpDcmVhdGVUYWdzXCIsXG5cdFx0XCJ3b3Jrc3BhY2VzOlJlZ2lzdGVyV29ya3NwYWNlRGlyZWN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlamVjdEFjY291bnRMaW5rSW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdEFjY291bnRMaW5rSW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlJlamVjdEFjY291bnRMaW5rSW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXN0b3JlV29ya3NwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzdG9yZVdvcmtzcGFjZTogc3RyaW5nW10gPSBbXCJ3b3Jrc3BhY2VzOlJlc3RvcmVXb3Jrc3BhY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldm9rZUlwUnVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZva2VJcFJ1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6UmV2b2tlSXBSdWxlc1wiLFxuXHRcdFwid29ya3NwYWNlczpVcGRhdGVSdWxlc09mSXBHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFdvcmtzcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFdvcmtzcGFjZXM6IHN0cmluZ1tdID0gW1wid29ya3NwYWNlczpTdGFydFdvcmtzcGFjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0V29ya3NwYWNlc1Bvb2wgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFdvcmtzcGFjZXNQb29sOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6U3RhcnRXb3Jrc3BhY2VzUG9vbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wV29ya3NwYWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BXb3Jrc3BhY2VzOiBzdHJpbmdbXSA9IFtcIndvcmtzcGFjZXM6U3RvcFdvcmtzcGFjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BXb3Jrc3BhY2VzUG9vbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BXb3Jrc3BhY2VzUG9vbDogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlN0b3BXb3Jrc3BhY2VzUG9vbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUZXJtaW5hdGVXb3Jrc3BhY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVybWluYXRlV29ya3NwYWNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlRlcm1pbmF0ZVdvcmtzcGFjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGVybWluYXRlV29ya3NwYWNlc1Bvb2wgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVXb3Jrc3BhY2VzUG9vbDogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sU2Vzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlRlcm1pbmF0ZVdvcmtzcGFjZXNQb29sU2Vzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25uZWN0Q2xpZW50QWRkSW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0Q2xpZW50QWRkSW46IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpVcGRhdGVDb25uZWN0Q2xpZW50QWRkSW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29ubmVjdGlvbkFsaWFzUGVybWlzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3Rpb25BbGlhc1Blcm1pc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpVcGRhdGVDb25uZWN0aW9uQWxpYXNQZXJtaXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJ1bGVzT2ZJcEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUnVsZXNPZklwR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwid29ya3NwYWNlczpBdXRob3JpemVJcFJ1bGVzXCIsXG5cdFx0XCJ3b3Jrc3BhY2VzOlJldm9rZUlwUnVsZXNcIixcblx0XHRcIndvcmtzcGFjZXM6VXBkYXRlUnVsZXNPZklwR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlV29ya3NwYWNlQnVuZGxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya3NwYWNlQnVuZGxlOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6VXBkYXRlV29ya3NwYWNlQnVuZGxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ3b3Jrc3BhY2VzOlVwZGF0ZVdvcmtzcGFjZUltYWdlUGVybWlzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVXb3Jrc3BhY2VzUG9vbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtzcGFjZXNQb29sOiBzdHJpbmdbXSA9IFtcblx0XHRcIndvcmtzcGFjZXM6VXBkYXRlV29ya3NwYWNlc1Bvb2xcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIHdvcmtzcGFjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBXb3JrU3BhY2VzQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVXb3Jrc3BhY2VBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29ubmVjdGlvbkFsaWFzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rpb25BbGlhc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSXBHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJcEdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUYWdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVRhZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFnc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVwbG95V29ya3NwYWNlQXBwbGljYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcGxveVdvcmtzcGFjZUFwcGxpY2F0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVBcHBsaWNhdGlvbkFzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcGxpY2F0aW9uQXNzb2NpYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUJ1bmRsZUFzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJ1bmRsZUFzc29jaWF0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVJbWFnZUFzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlQXNzb2NpYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVdvcmtzcGFjZUFzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtzcGFjZUFzc29jaWF0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGlzYXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlV29ya3NwYWNlQXBwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEltcG9ydEN1c3RvbVdvcmtzcGFjZUltYWdlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEN1c3RvbVdvcmtzcGFjZUltYWdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbXBvcnRXb3Jrc3BhY2VJbWFnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRXb3Jrc3BhY2VJbWFnZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJXb3Jrc3BhY2VEaXJlY3RvcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJXb3Jrc3BhY2VEaXJlY3RvcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0cmVhbSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdHJlYW1Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcIndvcmtzcGFjZXM6dXNlcklkXCJdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHdvcmtzcGFjZXM6dXNlcklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBVU0VSX0lEID0gXCJ3b3Jrc3BhY2VzOnVzZXJJZFwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGB3b3Jrc3BhY2VzOnVzZXJJZGAuXG5cdCAqL1xuXHRzdGF0aWMgdXNlcklkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwid29ya3NwYWNlczp1c2VySWRcIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=
@@ -16,7 +16,7 @@ class XrayActions {
16
16
  }
17
17
  exports.XrayActions = XrayActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- XrayActions[_a] = { fqn: "@cdk_utils/iam.xray.XrayActions", version: "1.6.0" };
19
+ XrayActions[_a] = { fqn: "@cdk_utils/iam.xray.XrayActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  XrayActions.SERVICE_PREFIX = "xray";
22
22
  /** [Read] xray:BatchGetTraceSummaryById */
@@ -229,7 +229,7 @@ class XrayResources {
229
229
  }
230
230
  exports.XrayResources = XrayResources;
231
231
  _b = JSII_RTTI_SYMBOL_1;
232
- XrayResources[_b] = { fqn: "@cdk_utils/iam.xray.XrayResources", version: "1.6.0" };
232
+ XrayResources[_b] = { fqn: "@cdk_utils/iam.xray.XrayResources", version: "1.7.0" };
233
233
  /**
234
234
  * API operation to required IAM actions mapping for xray.
235
235
  */
@@ -237,7 +237,7 @@ class XrayOperations {
237
237
  }
238
238
  exports.XrayOperations = XrayOperations;
239
239
  _c = JSII_RTTI_SYMBOL_1;
240
- XrayOperations[_c] = { fqn: "@cdk_utils/iam.xray.XrayOperations", version: "1.6.0" };
240
+ XrayOperations[_c] = { fqn: "@cdk_utils/iam.xray.XrayOperations", version: "1.7.0" };
241
241
  /** IAM actions required for the BatchGetTraces API call. */
242
242
  XrayOperations.BatchGetTraces = ["xray:BatchGetTraces"];
243
243
  /** IAM actions required for the CancelTraceRetrieval API call. */
@@ -379,7 +379,7 @@ class XrayConditions {
379
379
  }
380
380
  exports.XrayConditions = XrayConditions;
381
381
  _d = JSII_RTTI_SYMBOL_1;
382
- XrayConditions[_d] = { fqn: "@cdk_utils/iam.xray.XrayConditions", version: "1.6.0" };
382
+ XrayConditions[_d] = { fqn: "@cdk_utils/iam.xray.XrayConditions", version: "1.7.0" };
383
383
  /** Condition keys applicable to the CreateGroup action. */
384
384
  XrayConditions.CreateGroupConditionKeys = [
385
385
  "aws:RequestTag/${TagKey}",