@cdk_utils/iam 1.26.0 → 1.28.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 +2 -2
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.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 +6 -5
  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.js +5 -6
  67. package/lib/generated/services/billing.js +4 -4
  68. package/lib/generated/services/billingconductor.d.ts +16 -0
  69. package/lib/generated/services/billingconductor.js +31 -5
  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 +6 -6
  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.d.ts +737 -0
  91. package/lib/generated/services/cloudwatch.js +845 -7
  92. package/lib/generated/services/codeartifact.js +4 -4
  93. package/lib/generated/services/codebuild.js +4 -4
  94. package/lib/generated/services/codecatalyst.js +4 -4
  95. package/lib/generated/services/codecommit.js +4 -4
  96. package/lib/generated/services/codeconnections.js +4 -4
  97. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  98. package/lib/generated/services/codedeploy.js +4 -4
  99. package/lib/generated/services/codeguru-profiler.js +4 -4
  100. package/lib/generated/services/codeguru-reviewer.js +4 -4
  101. package/lib/generated/services/codeguru-security.js +4 -4
  102. package/lib/generated/services/codeguru.js +1 -1
  103. package/lib/generated/services/codepipeline.js +4 -4
  104. package/lib/generated/services/codestar-connections.js +4 -4
  105. package/lib/generated/services/codestar-notifications.js +4 -4
  106. package/lib/generated/services/codestar.js +3 -3
  107. package/lib/generated/services/codewhisperer.js +3 -3
  108. package/lib/generated/services/cognito-identity.js +4 -4
  109. package/lib/generated/services/cognito-idp.js +4 -4
  110. package/lib/generated/services/cognito-sync.js +3 -3
  111. package/lib/generated/services/comprehend.js +4 -4
  112. package/lib/generated/services/comprehendmedical.js +3 -3
  113. package/lib/generated/services/compute-optimizer.js +3 -3
  114. package/lib/generated/services/config.js +4 -4
  115. package/lib/generated/services/connect-campaigns.js +4 -4
  116. package/lib/generated/services/connect.d.ts +2 -0
  117. package/lib/generated/services/connect.js +7 -5
  118. package/lib/generated/services/consoleapp.js +2 -2
  119. package/lib/generated/services/consolidatedbilling.js +1 -1
  120. package/lib/generated/services/controlcatalog.js +3 -3
  121. package/lib/generated/services/controltower.js +4 -4
  122. package/lib/generated/services/cost-optimization-hub.js +2 -2
  123. package/lib/generated/services/cur.js +4 -4
  124. package/lib/generated/services/customer-verification.js +1 -1
  125. package/lib/generated/services/databrew.js +4 -4
  126. package/lib/generated/services/dataexchange.js +4 -4
  127. package/lib/generated/services/datapipeline.js +4 -4
  128. package/lib/generated/services/datasync.js +4 -4
  129. package/lib/generated/services/datazone.js +4 -4
  130. package/lib/generated/services/dax.js +4 -4
  131. package/lib/generated/services/dbqms.js +1 -1
  132. package/lib/generated/services/deadline.js +4 -4
  133. package/lib/generated/services/detective.js +4 -4
  134. package/lib/generated/services/devicefarm.js +4 -4
  135. package/lib/generated/services/devops-guru.js +4 -4
  136. package/lib/generated/services/directconnect.js +4 -4
  137. package/lib/generated/services/discovery.js +3 -3
  138. package/lib/generated/services/dlm.js +4 -4
  139. package/lib/generated/services/dms.js +4 -4
  140. package/lib/generated/services/docdb-elastic.js +4 -4
  141. package/lib/generated/services/drs.js +4 -4
  142. package/lib/generated/services/ds-data.js +4 -4
  143. package/lib/generated/services/ds.js +4 -4
  144. package/lib/generated/services/dsql.js +4 -4
  145. package/lib/generated/services/dynamodb.js +4 -4
  146. package/lib/generated/services/ebs.js +4 -4
  147. package/lib/generated/services/ec2-instance-connect.js +4 -4
  148. package/lib/generated/services/ec2.js +4 -4
  149. package/lib/generated/services/ec2messages.js +2 -2
  150. package/lib/generated/services/ecr-public.js +4 -4
  151. package/lib/generated/services/ecr.js +4 -4
  152. package/lib/generated/services/ecs-mcp.js +1 -1
  153. package/lib/generated/services/ecs.js +4 -4
  154. package/lib/generated/services/eks-auth.js +4 -4
  155. package/lib/generated/services/eks-mcp.js +1 -1
  156. package/lib/generated/services/eks.js +4 -4
  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 +6 -5
  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.d.ts +6 -0
  300. package/lib/generated/services/omics.js +20 -5
  301. package/lib/generated/services/one.js +3 -3
  302. package/lib/generated/services/opensearch.js +3 -3
  303. package/lib/generated/services/opsworks-cm.js +2 -2
  304. package/lib/generated/services/opsworks.js +2 -2
  305. package/lib/generated/services/organizations.js +4 -4
  306. package/lib/generated/services/osis.js +4 -4
  307. package/lib/generated/services/outposts.js +4 -4
  308. package/lib/generated/services/panorama.js +3 -3
  309. package/lib/generated/services/partnercentral-account-management.js +2 -2
  310. package/lib/generated/services/partnercentral.js +5 -6
  311. package/lib/generated/services/payment-cryptography.js +4 -4
  312. package/lib/generated/services/payments.js +3 -3
  313. package/lib/generated/services/pca-connector-ad.js +4 -4
  314. package/lib/generated/services/pca-connector-scep.js +4 -4
  315. package/lib/generated/services/pcs.js +4 -4
  316. package/lib/generated/services/personalize.js +4 -4
  317. package/lib/generated/services/pi.js +4 -4
  318. package/lib/generated/services/pipes.js +4 -4
  319. package/lib/generated/services/polly.js +3 -3
  320. package/lib/generated/services/pricing.js +2 -2
  321. package/lib/generated/services/pricingplanmanager.js +3 -3
  322. package/lib/generated/services/private-networks.js +3 -3
  323. package/lib/generated/services/profile.js +4 -4
  324. package/lib/generated/services/proton.js +4 -4
  325. package/lib/generated/services/purchase-orders.js +3 -3
  326. package/lib/generated/services/q.js +3 -3
  327. package/lib/generated/services/qapps.js +4 -4
  328. package/lib/generated/services/qbusiness.js +4 -4
  329. package/lib/generated/services/qdeveloper.js +3 -3
  330. package/lib/generated/services/qldb.js +3 -3
  331. package/lib/generated/services/quicksight.js +4 -4
  332. package/lib/generated/services/ram.js +4 -4
  333. package/lib/generated/services/rbin.js +4 -4
  334. package/lib/generated/services/rds-data.js +4 -4
  335. package/lib/generated/services/rds-db.js +2 -2
  336. package/lib/generated/services/rds.js +4 -4
  337. package/lib/generated/services/redshift-data.js +4 -4
  338. package/lib/generated/services/redshift-serverless.js +4 -4
  339. package/lib/generated/services/redshift.js +4 -4
  340. package/lib/generated/services/refactor-spaces.js +4 -4
  341. package/lib/generated/services/rekognition.js +4 -4
  342. package/lib/generated/services/repostspace.js +4 -4
  343. package/lib/generated/services/researchstudio.js +1 -1
  344. package/lib/generated/services/resiliencehub.js +4 -4
  345. package/lib/generated/services/resource-explorer-2.js +4 -4
  346. package/lib/generated/services/resource-explorer.js +1 -1
  347. package/lib/generated/services/resource-groups.js +4 -4
  348. package/lib/generated/services/rhelkb.js +1 -1
  349. package/lib/generated/services/robomaker.js +3 -3
  350. package/lib/generated/services/rolesanywhere.js +4 -4
  351. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  352. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  353. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  354. package/lib/generated/services/route53.js +4 -4
  355. package/lib/generated/services/route53domains.js +2 -2
  356. package/lib/generated/services/route53globalresolver.js +4 -4
  357. package/lib/generated/services/route53profiles.js +4 -4
  358. package/lib/generated/services/route53resolver.js +4 -4
  359. package/lib/generated/services/rtbfabric.js +4 -4
  360. package/lib/generated/services/rum.js +4 -4
  361. package/lib/generated/services/s3-object-lambda.js +3 -3
  362. package/lib/generated/services/s3-outposts.js +4 -4
  363. package/lib/generated/services/s3.js +4 -4
  364. package/lib/generated/services/s3express.js +3 -3
  365. package/lib/generated/services/s3files.js +4 -4
  366. package/lib/generated/services/s3tables.js +4 -4
  367. package/lib/generated/services/s3vectors.js +4 -4
  368. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  369. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  370. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  371. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  372. package/lib/generated/services/sagemaker.js +4 -4
  373. package/lib/generated/services/savingsplans.js +4 -4
  374. package/lib/generated/services/scheduler.js +4 -4
  375. package/lib/generated/services/schemas.js +4 -4
  376. package/lib/generated/services/scn.js +4 -4
  377. package/lib/generated/services/sdb.js +3 -3
  378. package/lib/generated/services/secretsmanager.js +4 -4
  379. package/lib/generated/services/security-ir.js +4 -4
  380. package/lib/generated/services/securityagent.js +4 -4
  381. package/lib/generated/services/securityhub.js +4 -4
  382. package/lib/generated/services/securitylake.js +4 -4
  383. package/lib/generated/services/serverlessrepo.js +4 -4
  384. package/lib/generated/services/servicecatalog.js +4 -4
  385. package/lib/generated/services/servicediscovery.js +4 -4
  386. package/lib/generated/services/serviceextract.js +1 -1
  387. package/lib/generated/services/servicequotas.js +4 -4
  388. package/lib/generated/services/ses.js +4 -4
  389. package/lib/generated/services/shield.js +4 -4
  390. package/lib/generated/services/signer.js +4 -4
  391. package/lib/generated/services/signin.js +4 -4
  392. package/lib/generated/services/simspaceweaver.js +3 -3
  393. package/lib/generated/services/sms-voice.js +4 -4
  394. package/lib/generated/services/sms.js +1 -1
  395. package/lib/generated/services/snow-device-management.js +4 -4
  396. package/lib/generated/services/snowball.js +2 -2
  397. package/lib/generated/services/sns.js +4 -4
  398. package/lib/generated/services/social-messaging.js +4 -4
  399. package/lib/generated/services/sqlworkbench.js +3 -3
  400. package/lib/generated/services/sqs.js +4 -4
  401. package/lib/generated/services/ssm-contacts.js +4 -4
  402. package/lib/generated/services/ssm-guiconnect.js +2 -2
  403. package/lib/generated/services/ssm-incidents.js +4 -4
  404. package/lib/generated/services/ssm-quicksetup.js +4 -4
  405. package/lib/generated/services/ssm-sap.js +4 -4
  406. package/lib/generated/services/ssm.js +4 -4
  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.d.ts +2 -0
  431. package/lib/generated/services/transcribe.js +7 -5
  432. package/lib/generated/services/transfer.js +4 -4
  433. package/lib/generated/services/transform-custom.js +3 -3
  434. package/lib/generated/services/transform.js +3 -3
  435. package/lib/generated/services/translate.js +4 -4
  436. package/lib/generated/services/trustedadvisor.js +3 -3
  437. package/lib/generated/services/ts.js +3 -3
  438. package/lib/generated/services/user-subscriptions.js +2 -2
  439. package/lib/generated/services/uxc.js +2 -2
  440. package/lib/generated/services/vendor-insights.js +3 -3
  441. package/lib/generated/services/verified-access.js +1 -1
  442. package/lib/generated/services/verifiedpermissions.js +4 -4
  443. package/lib/generated/services/voiceid.js +4 -4
  444. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  445. package/lib/generated/services/vpc-lattice.js +4 -4
  446. package/lib/generated/services/vpce.js +2 -2
  447. package/lib/generated/services/waf-regional.js +4 -4
  448. package/lib/generated/services/waf.js +4 -4
  449. package/lib/generated/services/wafv2.js +4 -4
  450. package/lib/generated/services/wam.js +1 -1
  451. package/lib/generated/services/wellarchitected.js +4 -4
  452. package/lib/generated/services/wickr.js +4 -4
  453. package/lib/generated/services/wisdom.js +4 -4
  454. package/lib/generated/services/workdocs.js +3 -3
  455. package/lib/generated/services/worklink.js +3 -3
  456. package/lib/generated/services/workmail.js +4 -4
  457. package/lib/generated/services/workmailmessageflow.js +3 -3
  458. package/lib/generated/services/workspaces-instances.js +4 -4
  459. package/lib/generated/services/workspaces-web.js +4 -4
  460. package/lib/generated/services/workspaces.js +4 -4
  461. package/lib/generated/services/xray.js +4 -4
  462. package/package.json +1 -1
@@ -16,7 +16,7 @@ class PartnercentralActions {
16
16
  }
17
17
  exports.PartnercentralActions = PartnercentralActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- PartnercentralActions[_a] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralActions", version: "1.26.0" };
19
+ PartnercentralActions[_a] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralActions", version: "1.28.0" };
20
20
  /** The IAM service prefix. */
21
21
  PartnercentralActions.SERVICE_PREFIX = "partnercentral";
22
22
  /** [Write] partnercentral:AcceptChannelHandshake */
@@ -1136,7 +1136,7 @@ class PartnercentralResources {
1136
1136
  }
1137
1137
  exports.PartnercentralResources = PartnercentralResources;
1138
1138
  _b = JSII_RTTI_SYMBOL_1;
1139
- PartnercentralResources[_b] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralResources", version: "1.26.0" };
1139
+ PartnercentralResources[_b] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralResources", version: "1.28.0" };
1140
1140
  /**
1141
1141
  * API operation to required IAM actions mapping for partnercentral.
1142
1142
  */
@@ -1144,7 +1144,7 @@ class PartnercentralOperations {
1144
1144
  }
1145
1145
  exports.PartnercentralOperations = PartnercentralOperations;
1146
1146
  _c = JSII_RTTI_SYMBOL_1;
1147
- PartnercentralOperations[_c] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralOperations", version: "1.26.0" };
1147
+ PartnercentralOperations[_c] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralOperations", version: "1.28.0" };
1148
1148
  /** IAM actions required for the AcceptChannelHandshake API call. */
1149
1149
  PartnercentralOperations.AcceptChannelHandshake = [
1150
1150
  "partnercentral:AcceptChannelHandshake",
@@ -1463,7 +1463,6 @@ PartnercentralOperations.ListOpportunities = [
1463
1463
  ];
1464
1464
  /** IAM actions required for the ListOpportunityFromEngagementTasks API call. */
1465
1465
  PartnercentralOperations.ListOpportunityFromEngagementTasks = [
1466
- "partnercentral:ListEngagementFromOpportunityTasks",
1467
1466
  "partnercentral:ListOpportunityFromEngagementTasks",
1468
1467
  ];
1469
1468
  /** IAM actions required for the ListPartners API call. */
@@ -1714,7 +1713,7 @@ class PartnercentralConditions {
1714
1713
  }
1715
1714
  exports.PartnercentralConditions = PartnercentralConditions;
1716
1715
  _d = JSII_RTTI_SYMBOL_1;
1717
- PartnercentralConditions[_d] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralConditions", version: "1.26.0" };
1716
+ PartnercentralConditions[_d] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralConditions", version: "1.28.0" };
1718
1717
  /** Condition keys applicable to the AcceptChannelHandshake action. */
1719
1718
  PartnercentralConditions.AcceptChannelHandshakeConditionKeys = [
1720
1719
  "partnercentral:Catalog",
@@ -2296,4 +2295,4 @@ PartnercentralConditions.PROGRAMS = "partnercentral:Programs";
2296
2295
  PartnercentralConditions.RELATED_ENTITY_TYPE = "partnercentral:RelatedEntityType";
2297
2296
  /** Condition key: partnercentral:VerificationType (String) */
2298
2297
  PartnercentralConditions.VERIFICATION_TYPE = "partnercentral:VerificationType";
2299
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lcmNlbnRyYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL3BhcnRuZXJjZW50cmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQscURBQXFEO0FBQ3JELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLHFCQUFxQjs7QUFBbEMsc0RBcWdCQzs7O0FBcGdCQSw4QkFBOEI7QUFDZCxvQ0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBRWxELG9EQUFvRDtBQUNwQyw0Q0FBc0IsR0FDckMsdUNBQXVDLENBQUM7QUFDekMsd0RBQXdEO0FBQ3hDLGdEQUEwQixHQUN6QywyQ0FBMkMsQ0FBQztBQUM3Qyx3REFBd0Q7QUFDeEMsZ0RBQTBCLEdBQ3pDLDJDQUEyQyxDQUFDO0FBQzdDLHFEQUFxRDtBQUNyQyw2Q0FBdUIsR0FDdEMsd0NBQXdDLENBQUM7QUFDMUMsK0NBQStDO0FBQy9CLHVDQUFpQixHQUFHLGtDQUFrQyxDQUFDO0FBQ3ZFLDBFQUEwRTtBQUMxRCxrRUFBNEMsR0FDM0QsNkRBQTZELENBQUM7QUFDL0QsaUVBQWlFO0FBQ2pELHlEQUFtQyxHQUNsRCxvREFBb0QsQ0FBQztBQUN0RCxrREFBa0Q7QUFDbEMsMENBQW9CLEdBQUcscUNBQXFDLENBQUM7QUFDN0Usc0RBQXNEO0FBQ3RDLDhDQUF3QixHQUN2Qyx5Q0FBeUMsQ0FBQztBQUMzQyxvREFBb0Q7QUFDcEMsNENBQXNCLEdBQ3JDLHVDQUF1QyxDQUFDO0FBQ3pDLDhDQUE4QztBQUM5QixzQ0FBZ0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUNyRSx3REFBd0Q7QUFDeEMsZ0RBQTBCLEdBQ3pDLDJDQUEyQyxDQUFDO0FBQzdDLHFEQUFxRDtBQUNyQyw2Q0FBdUIsR0FDdEMsd0NBQXdDLENBQUM7QUFDMUMsc0RBQXNEO0FBQ3RD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QVksR0FBRyxhQUFhLENBQUM7QUFDN0MscURBQXFEO0FBQ3JDLGdDQUFPLEdBQUcsd0JBQXdCLENBQUM7QUFDbkQsa0VBQWtFO0FBQ2xELCtDQUFzQixHQUNyQyxxQ0FBcUMsQ0FBQztBQUN2QyxxRUFBcUU7QUFDckQsMENBQWlCLEdBQUcsaUNBQWlDLENBQUM7QUFDdEUsNkRBQTZEO0FBQzdDLGlDQUFRLEdBQUcseUJBQXlCLENBQUM7QUFDckQsK0RBQStEO0FBQy9DLDRDQUFtQixHQUFHLGtDQUFrQyxDQUFDO0FBQ3pFLDhEQUE4RDtBQUM5QywwQ0FBaUIsR0FBRyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL3BhcnRuZXJjZW50cmFsLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBwYXJ0bmVyY2VudHJhbCBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgUGFydG5lcmNlbnRyYWxBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwicGFydG5lcmNlbnRyYWxcIjtcblxuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpBY2NlcHRDaGFubmVsSGFuZHNoYWtlICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRDaGFubmVsSGFuZHNoYWtlID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkFjY2VwdENoYW5uZWxIYW5kc2hha2VcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6QWNjZXB0Q29ubmVjdGlvbkludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdENvbm5lY3Rpb25JbnZpdGF0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkFjY2VwdENvbm5lY3Rpb25JbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpBbWVuZEJlbmVmaXRBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQW1lbmRCZW5lZml0QXBwbGljYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6QW1lbmRCZW5lZml0QXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6QXNzaWduT3Bwb3J0dW5pdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc2lnbk9wcG9ydHVuaXR5ID0gXCJwYXJ0bmVyY2VudHJhbDpBc3NpZ25PcHBvcnR1bml0eVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkFzc29jaWF0ZU9wcG9ydHVuaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVPcHBvcnR1bml0eSA9IFwicGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlT3Bwb3J0dW5pdHlcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxCZW5lZml0QXBwbGljYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNhbmNlbENoYW5uZWxIYW5kc2hha2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbENoYW5uZWxIYW5kc2hha2UgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsQ2hhbm5lbEhhbmRzaGFrZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDYW5jZWxDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDb25uZWN0aW9uID0gXCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxDb25uZWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNhbmNlbENvbm5lY3Rpb25JbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDYW5jZWxQcm9maWxlVXBkYXRlVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlQmVuZWZpdEFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCZW5lZml0QXBwbGljYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlQmVuZWZpdEFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUJ1c2luZXNzUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQnVzaW5lc3NQbGFuID0gXCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVCdXNpbmVzc1BsYW5cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlQ2hhbm5lbEhhbmRzaGFrZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2hhbm5lbEhhbmRzaGFrZSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVDaGFubmVsSGFuZHNoYWtlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFubmVsTWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29sbGFib3JhdGlvbkNoYW5uZWxNZW1iZXJzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFubmVsTWVtYmVyc1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbm5lbFJlcXVlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbGxhYm9yYXRpb25DaGFubmVsUmVxdWVzdCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbm5lbFJlcXVlc3RcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlQ29ubmVjdGlvbkludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZ2FnZW1lbnQgPSBcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlRW5nYWdlbWVudENvbnRleHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZ2FnZW1lbnRDb250ZXh0ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRDb250ZXh0XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRJbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZU9wcG9ydHVuaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHBvcnR1bml0eSA9IFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlT3Bwb3J0dW5pdHlcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlUGFydG5lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lciA9IFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUGFydG5lclwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnRcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVsYXRpb25zaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWxhdGlvbnNoaXAgPSBcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlbGF0aW9uc2hpcFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZVJldmVudWVBdHRyaWJ1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmV2ZW51ZUF0dHJpYnV0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJldmVudWVBdHRyaWJ1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpEZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnRcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6RGVsZXRlUmVsYXRpb25zaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWxhdGlvbnNoaXAgPSBcInBhcnRuZXJjZW50cmFsOkRlbGV0ZVJlbGF0aW9uc2hpcFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpEZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkRlbGV0ZVJlc291cmNlU25hcHNob3RKb2JcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6RGlzYXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkRpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkRpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEaXNhc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpEaXNhc3NvY2lhdGVPcHBvcnR1bml0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHkgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6RGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHlcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6RW5yb2xsSW5QYXJ0bmVyUGF0aCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5yb2xsSW5QYXJ0bmVyUGF0aCA9IFwicGFydG5lcmNlbnRyYWw6RW5yb2xsSW5QYXJ0bmVyUGF0aFwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldEFsbGlhbmNlTGVhZENvbnRhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFsbGlhbmNlTGVhZENvbnRhY3QgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0QWxsaWFuY2VMZWFkQ29udGFjdFwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldEF3c09wcG9ydHVuaXR5U3VtbWFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEF3c09wcG9ydHVuaXR5U3VtbWFyeVwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJlbmVmaXQgPSBcInBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXRcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRCZW5lZml0QWxsb2NhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmVuZWZpdEFsbG9jYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0QmVuZWZpdEFsbG9jYXRpb25cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRCZW5lZml0QXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJlbmVmaXRBcHBsaWNhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRCZW5lZml0QXBwbGljYXRpb25cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRCdXNpbmVzc1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJ1c2luZXNzUGxhbiA9IFwicGFydG5lcmNlbnRyYWw6R2V0QnVzaW5lc3NQbGFuXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0Q29sbGFib3JhdGlvbkNoYW5uZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbGxhYm9yYXRpb25DaGFubmVsID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldENvbGxhYm9yYXRpb25DaGFubmVsXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0Q29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29ubmVjdGlvbiA9IFwicGFydG5lcmNlbnRyYWw6R2V0Q29ubmVjdGlvblwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb25JbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0aW9uSW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRDb25uZWN0aW9uSW52aXRhdGlvblwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb25QcmVmZXJlbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29ubmVjdGlvblByZWZlcmVuY2VzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb25QcmVmZXJlbmNlc1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEVuZ2FnZW1lbnQgPSBcInBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50SW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RW5nYWdlbWVudEludml0YXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudEludml0YXRpb25cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRPcHBvcnR1bml0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3Bwb3J0dW5pdHkgPSBcInBhcnRuZXJjZW50cmFsOkdldE9wcG9ydHVuaXR5XCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UGFydG5lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFydG5lciA9IFwicGFydG5lcmNlbnRyYWw6R2V0UGFydG5lclwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFBhcnRuZXJEYXNoYm9hcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhcnRuZXJEYXNoYm9hcmQgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UGFydG5lckRhc2hib2FyZFwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFBhcnRuZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJ0bmVyUHJvZmlsZSA9IFwicGFydG5lcmNlbnRyYWw6R2V0UGFydG5lclByb2ZpbGVcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRQcm9maWxlVXBkYXRlVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZVVwZGF0ZVRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvZmlsZVVwZGF0ZVRhc2tcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRQcm9maWxlVmlzaWJpbGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZVZpc2liaWxpdHkgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvZmlsZVZpc2liaWxpdHlcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRQcm9ncmFtTWFuYWdlbWVudEFjY291bnRcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uRGV0YWlscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHNcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2tcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2tcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRSZWxhdGlvbnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uc2hpcCA9IFwicGFydG5lcmNlbnRyYWw6R2V0UmVsYXRpb25zaGlwXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UmVzb3VyY2VTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VTbmFwc2hvdCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXNvdXJjZVNuYXBzaG90XCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UmVzb3VyY2VTbmFwc2hvdEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VTbmFwc2hvdEpvYiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXNvdXJjZVNuYXBzaG90Sm9iXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXZlbnVlQXR0cmlidXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0U2VsbGluZ1N5c3RlbVNldHRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0U2VsbGluZ1N5c3RlbVNldHRpbmdzXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0VmVyaWZpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRWZXJpZmljYXRpb24gPSBcInBhcnRuZXJjZW50cmFsOkdldFZlcmlmaWNhdGlvblwiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0QWxsb2NhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCZW5lZml0QWxsb2NhdGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEJlbmVmaXRBbGxvY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0QXBwbGljYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdEFwcGxpY2F0aW9ucyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0QmVuZWZpdEFwcGxpY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJlbmVmaXRzID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0QmVuZWZpdHNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0QnVzaW5lc3NQbGFucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJ1c2luZXNzUGxhbnMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RCdXNpbmVzc1BsYW5zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdENoYW5uZWxIYW5kc2hha2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2hhbm5lbEhhbmRzaGFrZXMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdENoYW5uZWxIYW5kc2hha2VzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdENvbGxhYm9yYXRpb25DaGFubmVscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbGxhYm9yYXRpb25DaGFubmVscyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0Q29sbGFib3JhdGlvbkNoYW5uZWxzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdENvbm5lY3Rpb25JbnZpdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3Rpb25JbnZpdGF0aW9ucyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0Q29ubmVjdGlvbkludml0YXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdENvbm5lY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdGlvbnMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RDb25uZWN0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza3MgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3MgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50SW52aXRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50SW52aXRhdGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50TWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRNZW1iZXJzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50TWVtYmVyc1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRSZXNvdXJjZUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRzID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudHNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0T3Bwb3J0dW5pdGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wcG9ydHVuaXRpZXMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RPcHBvcnR1bml0aWVzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrcyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFBhcnRuZXJQYXRocyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJQYXRocyA9IFwicGFydG5lcmNlbnRyYWw6TGlzdFBhcnRuZXJQYXRoc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RQYXJ0bmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJzID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0UGFydG5lcnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3NcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0UmVsYXRpb25zaGlwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlbGF0aW9uc2hpcHMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RSZWxhdGlvbnNoaXBzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFJlc291cmNlU25hcHNob3RKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJlc291cmNlU25hcHNob3RKb2JzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFJlc291cmNlU25hcHNob3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VTbmFwc2hvdHMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJlc291cmNlU25hcHNob3RzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFJldmVudWVBdHRyaWJ1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXZlbnVlQXR0cmlidXRpb25zID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RSZXZlbnVlQXR0cmlidXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFNvbHV0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNvbHV0aW9ucyA9IFwicGFydG5lcmNlbnRyYWw6TGlzdFNvbHV0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6UHV0QWxsaWFuY2VMZWFkQ29udGFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWxsaWFuY2VMZWFkQ29udGFjdCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQdXRBbGxpYW5jZUxlYWRDb250YWN0XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlB1dEJ1c2luZXNzUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QnVzaW5lc3NQbGFuID0gXCJwYXJ0bmVyY2VudHJhbDpQdXRCdXNpbmVzc1BsYW5cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6UHV0UHJvZmlsZVZpc2liaWxpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFByb2ZpbGVWaXNpYmlsaXR5ID0gXCJwYXJ0bmVyY2VudHJhbDpQdXRQcm9maWxlVmlzaWJpbGl0eVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpQdXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFNlbGxpbmdTeXN0ZW1TZXR0aW5ncyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQdXRTZWxsaW5nU3lzdGVtU2V0dGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6UmVjYWxsQmVuZWZpdEFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWNhbGxCZW5lZml0QXBwbGljYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVjYWxsQmVuZWZpdEFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlJlamVjdENoYW5uZWxIYW5kc2hha2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdENoYW5uZWxIYW5kc2hha2UgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVqZWN0Q2hhbm5lbEhhbmRzaGFrZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpSZWplY3RDb25uZWN0aW9uSW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0Q29ubmVjdGlvbkludml0YXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVqZWN0Q29ubmVjdGlvbkludml0YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6UmVqZWN0RW5nYWdlbWVudEludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6U2VhcmNoUGFydG5lclByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hQYXJ0bmVyUHJvZmlsZXMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U2VhcmNoUGFydG5lclByb2ZpbGVzXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGUgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydFByb2ZpbGVVcGRhdGVUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFByb2ZpbGVVcGRhdGVUYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UHJvZmlsZVVwZGF0ZVRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFza1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlc291cmNlU25hcHNob3RKb2IgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFza1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydFZlcmlmaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRWZXJpZmljYXRpb24gPSBcInBhcnRuZXJjZW50cmFsOlN0YXJ0VmVyaWZpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUmVzb3VyY2VTbmFwc2hvdEpvYiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdG9wUmVzb3VyY2VTbmFwc2hvdEpvYlwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdWJtaXRCZW5lZml0QXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdEJlbmVmaXRBcHBsaWNhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdWJtaXRCZW5lZml0QXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3VibWl0T3Bwb3J0dW5pdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdE9wcG9ydHVuaXR5ID0gXCJwYXJ0bmVyY2VudHJhbDpTdWJtaXRPcHBvcnR1bml0eVwiO1xuXHQvKiogW1RhZ2dpbmddIHBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBwYXJ0bmVyY2VudHJhbDpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJwYXJ0bmVyY2VudHJhbDpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQmVuZWZpdEFwcGxpY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVcGRhdGVDb25uZWN0aW9uUHJlZmVyZW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3Rpb25QcmVmZXJlbmNlcyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVDb25uZWN0aW9uUHJlZmVyZW5jZXNcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6VXBkYXRlRW5nYWdlbWVudENvbnRleHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVcGRhdGVPcHBvcnR1bml0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3Bwb3J0dW5pdHkgPSBcInBhcnRuZXJjZW50cmFsOlVwZGF0ZU9wcG9ydHVuaXR5XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVwZGF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVcGRhdGVSZWxhdGlvbnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlbGF0aW9uc2hpcCA9IFwicGFydG5lcmNlbnRyYWw6VXBkYXRlUmVsYXRpb25zaGlwXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV2ZW51ZUF0dHJpYnV0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVc2VTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVc2VTZXNzaW9uID0gXCJwYXJ0bmVyY2VudHJhbDpVc2VTZXNzaW9uXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldEFsbGlhbmNlTGVhZENvbnRhY3QsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldEF3c09wcG9ydHVuaXR5U3VtbWFyeSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0QmVuZWZpdCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0QmVuZWZpdEFsbG9jYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldEJlbmVmaXRBcHBsaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0QnVzaW5lc3NQbGFuLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRDb2xsYWJvcmF0aW9uQ2hhbm5lbCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0Q29ubmVjdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0Q29ubmVjdGlvbkludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldENvbm5lY3Rpb25QcmVmZXJlbmNlcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0RW5nYWdlbWVudCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0RW5nYWdlbWVudEludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldE9wcG9ydHVuaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRQYXJ0bmVyLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRQYXJ0bmVyRGFzaGJvYXJkLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRQYXJ0bmVyUHJvZmlsZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UHJvZmlsZVVwZGF0ZVRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFByb2ZpbGVWaXNpYmlsaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRQcm9ncmFtTWFuYWdlbWVudEFjY291bnQsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uRGV0YWlscyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRSZWxhdGlvbnNoaXAsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlU25hcHNob3QsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlU25hcHNob3RKb2IsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFJldmVudWVBdHRyaWJ1dGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFZlcmlmaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEVuZ2FnZW1lbnRNZW1iZXJzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0RW5nYWdlbWVudFJlc291cmNlQXNzb2NpYXRpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5BY2NlcHRDaGFubmVsSGFuZHNoYWtlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5BY2NlcHRDb25uZWN0aW9uSW52aXRhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQWNjZXB0RW5nYWdlbWVudEludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkFtZW5kQmVuZWZpdEFwcGxpY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5Bc3NpZ25PcHBvcnR1bml0eSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5Bc3NvY2lhdGVPcHBvcnR1bml0eSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DYW5jZWxDaGFubmVsSGFuZHNoYWtlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DYW5jZWxDb25uZWN0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlQnVzaW5lc3NQbGFuLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVDaGFubmVsSGFuZHNoYWtlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbm5lbE1lbWJlcnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFubmVsUmVxdWVzdCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlQ29ubmVjdGlvbkludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUVuZ2FnZW1lbnQsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUVuZ2FnZW1lbnRDb250ZXh0LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlT3Bwb3J0dW5pdHksXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZVBhcnRuZXIsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlUmVsYXRpb25zaGlwLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVSZXNvdXJjZVNuYXBzaG90LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVSZXZlbnVlQXR0cmlidXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkRlbGV0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuRGVsZXRlUmVsYXRpb25zaGlwLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5EZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5EaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuRGlzYXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2UsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkRpc2Fzc29jaWF0ZU9wcG9ydHVuaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5FbnJvbGxJblBhcnRuZXJQYXRoLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5QdXRBbGxpYW5jZUxlYWRDb250YWN0LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5QdXRCdXNpbmVzc1BsYW4sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlB1dFByb2ZpbGVWaXNpYmlsaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5QdXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuUmVqZWN0Q2hhbm5lbEhhbmRzaGFrZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuUmVqZWN0Q29ubmVjdGlvbkludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TZW5kRW1haWxWZXJpZmljYXRpb25Db2RlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFByb2ZpbGVVcGRhdGVUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFJlc291cmNlU25hcHNob3RKb2IsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN0YXJ0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFZlcmlmaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3RvcFJlc291cmNlU25hcHNob3RKb2IsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN1Ym1pdEJlbmVmaXRBcHBsaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3VibWl0T3Bwb3J0dW5pdHksXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5VcGRhdGVFbmdhZ2VtZW50Q29udGV4dCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXBkYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5VcGRhdGVPcHBvcnR1bml0eSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXBkYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5VcGRhdGVSZWxhdGlvbnNoaXAsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXNlU2Vzc2lvbixcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RCZW5lZml0QWxsb2NhdGlvbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RCZW5lZml0QXBwbGljYXRpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0QmVuZWZpdHMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RCdXNpbmVzc1BsYW5zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0Q2hhbm5lbEhhbmRzaGFrZXMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RDb2xsYWJvcmF0aW9uQ2hhbm5lbHMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RDb25uZWN0aW9uSW52aXRhdGlvbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RDb25uZWN0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEVuZ2FnZW1lbnRzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdE9wcG9ydHVuaXRpZXMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza3MsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RQYXJ0bmVyUGF0aHMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RQYXJ0bmVycyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3MsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RSZWxhdGlvbnNoaXBzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RSZXNvdXJjZVNuYXBzaG90cyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0UmV2ZW51ZUF0dHJpYnV0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFNvbHV0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU2VhcmNoUGFydG5lclByb2ZpbGVzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBCZW5lZml0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBCZW5lZml0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEJlbmVmaXRBbGxvY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBbGxvY2F0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQmVuZWZpdEFsbG9jYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQmVuZWZpdEFsbG9jYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEJlbmVmaXRBcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxCZW5lZml0QXBwbGljYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBCZW5lZml0QXBwbGljYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQmVuZWZpdEFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDaGFubmVsSGFuZHNoYWtlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbENoYW5uZWxIYW5kc2hha2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDaGFubmVsSGFuZHNoYWtlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbENoYW5uZWxIYW5kc2hha2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENvbm5lY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENvbm5lY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ29ubmVjdGlvbkludml0YXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkludml0YXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDb25uZWN0aW9uSW52aXRhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uSW52aXRhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ29ubmVjdGlvblByZWZlcmVuY2VzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25QcmVmZXJlbmNlc0FyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29ubmVjdGlvblByZWZlcmVuY2VzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25QcmVmZXJlbmNlc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIERhc2hib2FyZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxEYXNoYm9hcmRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhYmxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhYmxlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBEYXNoYm9hcmRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGFzaGJvYXJkSWQ6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIERhc2hib2FyZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxEYXNoYm9hcmRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhYmxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YWJsZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFzaGJvYXJkSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYXNoYm9hcmRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgRW5nYWdlbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgRW5nYWdlbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBNYXJrZXRwbGFjZVJldmVudWVTaGFyZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgTWFya2V0cGxhY2VQcm9kdWN0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1hcmtldHBsYWNlUHJvZHVjdElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgTWFya2V0cGxhY2VQcm9kdWN0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtYXJrZXRwbGFjZVByb2R1Y3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgT3Bwb3J0dW5pdHkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBPcHBvcnR1bml0eSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxPcHBvcnR1bml0eUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBQYXJ0bmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFBhcnRuZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBQYXJ0bmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFBhcnRuZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0FyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhc2tJZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXNrSWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVsYXRpb25zaGlwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJlbGF0aW9uc2hpcEFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2dyYW1NYW5hZ2VtZW50QWNjb3VudElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVsYXRpb25zaGlwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlbGF0aW9uc2hpcElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVsYXRpb25zaGlwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJlbGF0aW9uc2hpcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBQcm9ncmFtTWFuYWdlbWVudEFjY291bnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb2dyYW1NYW5hZ2VtZW50QWNjb3VudElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVsYXRpb25zaGlwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWxhdGlvbnNoaXBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVzb3VyY2VTbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90QXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBFbmdhZ2VtZW50SWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZW5nYWdlbWVudElkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZVR5cGUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlVHlwZTogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGVtcGxhdGVJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0ZW1wbGF0ZUlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBTbmFwc2hvdFJldmlzaW9uIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzbmFwc2hvdFJldmlzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVzb3VyY2VTbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIEVuZ2FnZW1lbnRJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZW5nYWdlbWVudElkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZVR5cGUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBUZW1wbGF0ZUlkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0ZW1wbGF0ZUlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBTbmFwc2hvdFJldmlzaW9uIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc25hcHNob3RSZXZpc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmV2ZW51ZUF0dHJpYnV0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJldmVudWVBdHRyaWJ1dGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmV2ZW51ZUF0dHJpYnV0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJldmVudWVBdHRyaWJ1dGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmV2ZW51ZUF0dHJpYnV0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJldmVudWVBdHRyaWJ1dGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBSZXZlbnVlQXR0cmlidXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJldmVudWVBdHRyaWJ1dGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBTb2x1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxTb2x1dGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFNvbHV0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFNvbHV0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbmdhZ2VtZW50LWJ5LWFjY2VwdGluZy1pbnZpdGF0aW9uLXRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZW5nYWdlbWVudC1ieS1hY2NlcHRpbmctaW52aXRhdGlvbi10YXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhc2tJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZW5nYWdlbWVudC1mcm9tLW9wcG9ydHVuaXR5LXRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZW5nYWdlbWVudC1mcm9tLW9wcG9ydHVuaXR5LXRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbmdhZ2VtZW50LWludml0YXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEludml0YXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlbmdhZ2VtZW50LWludml0YXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEludml0YXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlc291cmNlLXNuYXBzaG90LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90Sm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVzb3VyY2Utc25hcHNob3Qtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJlc291cmNlU25hcHNob3RKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuY29uc3QgQmVuZWZpdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2JlbmVmaXRcXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBCZW5lZml0QWxsb2NhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvYmVuZWZpdC1hbGxvY2F0aW9uXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgQmVuZWZpdEFwcGxpY2F0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9iZW5lZml0LWFwcGxpY2F0aW9uXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgQ2hhbm5lbEhhbmRzaGFrZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvY2hhbm5lbC1oYW5kc2hha2VcXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBDb25uZWN0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6OmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvY29ubmVjdGlvblxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IENvbm5lY3Rpb25JbnZpdGF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6OmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvY29ubmVjdGlvbi1pbnZpdGF0aW9uXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9jb25uZWN0aW9uLXByZWZlcmVuY2VzJC87XG5jb25zdCBEYXNoYm9hcmRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6Oig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvUmVwb3J0aW5nRGF0YVxcLyg/PHRhYmxlSWQ+W146Lz9dKylcXC9EYXNoYm9hcmRcXC8oPzxkYXNoYm9hcmRJZD5bXjovP10rKSQvO1xuY29uc3QgRW5nYWdlbWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2VuZ2FnZW1lbnRcXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvbWFya2V0cGxhY2UtcmV2ZW51ZS1zaGFyZVxcLyg/PG1hcmtldHBsYWNlUHJvZHVjdElkPlteOi8/XSspJC87XG5jb25zdCBPcHBvcnR1bml0eUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvb3Bwb3J0dW5pdHlcXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL29wcG9ydHVuaXR5LWZyb20tZW5nYWdlbWVudC10YXNrXFwvKD88dGFza0lkPlteOi8/XSspJC87XG5jb25zdCBQYXJ0bmVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9wYXJ0bmVyXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9wcm9ncmFtLW1hbmFnZW1lbnQtYWNjb3VudFxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6OmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvcHJvc3BlY3RpbmctZnJvbS1lbmdhZ2VtZW50LXRhc2tcXC8oPzx0YXNrSWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgUmVsYXRpb25zaGlwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9wcm9ncmFtLW1hbmFnZW1lbnQtYWNjb3VudFxcLyg/PHByb2dyYW1NYW5hZ2VtZW50QWNjb3VudElkPlteOi8/XSspXFwvcmVsYXRpb25zaGlwXFwvKD88cmVsYXRpb25zaGlwSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlc291cmNlU25hcHNob3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2VuZ2FnZW1lbnRcXC8oPzxlbmdhZ2VtZW50SWRlbnRpZmllcj5bXjovP10rKVxcL3Jlc291cmNlXFwvKD88cmVzb3VyY2VUeXBlPlteOi8/XSspXFwvKD88cmVzb3VyY2VJZGVudGlmaWVyPlteOi8/XSspXFwvdGVtcGxhdGVcXC8oPzx0ZW1wbGF0ZUlkZW50aWZpZXI+W146Lz9dKylcXC9yZXNvdXJjZS1zbmFwc2hvdFxcLyg/PHNuYXBzaG90UmV2aXNpb24+W146Lz9dKykkLztcbmNvbnN0IFJldmVudWVBdHRyaWJ1dGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvcmV2ZW51ZS1hdHRyaWJ1dGlvblxcLyg/PHJldmVudWVBdHRyaWJ1dGlvbklkPlteOi8/XSspJC87XG5jb25zdCBTb2x1dGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvc29sdXRpb25cXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2VuZ2FnZW1lbnQtYnktYWNjZXB0aW5nLWludml0YXRpb24tdGFza1xcLyg/PHRhc2tJZD5bXjovP10rKSQvO1xuY29uc3QgRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTo6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9lbmdhZ2VtZW50LWZyb20tb3Bwb3J0dW5pdHktdGFza1xcLyg/PHRhc2tJZD5bXjovP10rKSQvO1xuY29uc3QgRW5nYWdlbWVudEludml0YXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTo6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9lbmdhZ2VtZW50LWludml0YXRpb25cXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBSZXNvdXJjZVNuYXBzaG90Sm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9yZXNvdXJjZS1zbmFwc2hvdC1qb2JcXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgcGFydG5lcmNlbnRyYWwgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgUGFydG5lcmNlbnRyYWxSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEJlbmVmaXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYmVuZWZpdChwcm9wczogUGFydG5lcmNlbnRyYWxCZW5lZml0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2JlbmVmaXQvJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBCZW5lZml0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCZW5lZml0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJlbmVmaXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQmVuZWZpdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCZW5lZml0QXJuKGFybjogc3RyaW5nKTogUGFydG5lcmNlbnRyYWxCZW5lZml0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCZW5lZml0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEJlbmVmaXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEJlbmVmaXRBbGxvY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJlbmVmaXRBbGxvY2F0aW9uKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBbGxvY2F0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2JlbmVmaXQtYWxsb2NhdGlvbi8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEJlbmVmaXRBbGxvY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCZW5lZml0QWxsb2NhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCZW5lZml0QWxsb2NhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBCZW5lZml0QWxsb2NhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCZW5lZml0QWxsb2NhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxCZW5lZml0QWxsb2NhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQmVuZWZpdEFsbG9jYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQmVuZWZpdEFsbG9jYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEJlbmVmaXRBcHBsaWNhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBiZW5lZml0QXBwbGljYXRpb24oXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsQmVuZWZpdEFwcGxpY2F0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2JlbmVmaXQtYXBwbGljYXRpb24vJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBCZW5lZml0QXBwbGljYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJlbmVmaXRBcHBsaWNhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCZW5lZml0QXBwbGljYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQmVuZWZpdEFwcGxpY2F0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJlbmVmaXRBcHBsaWNhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxCZW5lZml0QXBwbGljYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJlbmVmaXRBcHBsaWNhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBCZW5lZml0QXBwbGljYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENoYW5uZWxIYW5kc2hha2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2hhbm5lbEhhbmRzaGFrZShcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxDaGFubmVsSGFuZHNoYWtlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2NoYW5uZWwtaGFuZHNoYWtlLyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ2hhbm5lbEhhbmRzaGFrZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2hhbm5lbEhhbmRzaGFrZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDaGFubmVsSGFuZHNoYWtlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENoYW5uZWxIYW5kc2hha2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2hhbm5lbEhhbmRzaGFrZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxDaGFubmVsSGFuZHNoYWtlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDaGFubmVsSGFuZHNoYWtlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENoYW5uZWxIYW5kc2hha2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENvbm5lY3Rpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdGlvbihwcm9wczogUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2Nvbm5lY3Rpb24vJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb25uZWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25uZWN0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbm5lY3Rpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29ubmVjdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25uZWN0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbm5lY3Rpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29ubmVjdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ29ubmVjdGlvbkludml0YXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdGlvbkludml0YXRpb24oXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkludml0YXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9jb25uZWN0aW9uLWludml0YXRpb24vJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb25uZWN0aW9uSW52aXRhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29ubmVjdGlvbkludml0YXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29ubmVjdGlvbkludml0YXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29ubmVjdGlvbkludml0YXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29ubmVjdGlvbkludml0YXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkludml0YXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbm5lY3Rpb25JbnZpdGF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENvbm5lY3Rpb25JbnZpdGF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDb25uZWN0aW9uUHJlZmVyZW5jZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdGlvblByZWZlcmVuY2VzKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25QcmVmZXJlbmNlc0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9jb25uZWN0aW9uLXByZWZlcmVuY2VzYDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENvbm5lY3Rpb25QcmVmZXJlbmNlcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbm5lY3Rpb25QcmVmZXJlbmNlc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDb25uZWN0aW9uUHJlZmVyZW5jZXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25QcmVmZXJlbmNlc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENvbm5lY3Rpb25QcmVmZXJlbmNlcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRGFzaGJvYXJkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhc2hib2FyZChwcm9wczogUGFydG5lcmNlbnRyYWxEYXNoYm9hcmRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L1JlcG9ydGluZ0RhdGEvJHtwcm9wcy50YWJsZUlkfS9EYXNoYm9hcmQvJHtwcm9wcy5kYXNoYm9hcmRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgRGFzaGJvYXJkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXNoYm9hcmRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGFzaGJvYXJkQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIERhc2hib2FyZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXNoYm9hcmRBcm4oYXJuOiBzdHJpbmcpOiBQYXJ0bmVyY2VudHJhbERhc2hib2FyZEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGFzaGJvYXJkQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIERhc2hib2FyZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHR0YWJsZUlkOiBtYXRjaC5ncm91cHMhLnRhYmxlSWQsXG5cdFx0XHRkYXNoYm9hcmRJZDogbWF0Y2guZ3JvdXBzIS5kYXNoYm9hcmRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBFbmdhZ2VtZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVuZ2FnZW1lbnQocHJvcHM6IFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9lbmdhZ2VtZW50LyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgRW5nYWdlbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5nYWdlbWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbmdhZ2VtZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEVuZ2FnZW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5nYWdlbWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbmdhZ2VtZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEVuZ2FnZW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L21hcmtldHBsYWNlLXJldmVudWUtc2hhcmUvJHtwcm9wcy5tYXJrZXRwbGFjZVByb2R1Y3RJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBNYXJrZXRwbGFjZVJldmVudWVTaGFyZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRtYXJrZXRwbGFjZVByb2R1Y3RJZDogbWF0Y2guZ3JvdXBzIS5tYXJrZXRwbGFjZVByb2R1Y3RJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBPcHBvcnR1bml0eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvcHBvcnR1bml0eShwcm9wczogUGFydG5lcmNlbnRyYWxPcHBvcnR1bml0eUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vb3Bwb3J0dW5pdHkvJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBPcHBvcnR1bml0eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT3Bwb3J0dW5pdHlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT3Bwb3J0dW5pdHlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgT3Bwb3J0dW5pdHkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT3Bwb3J0dW5pdHlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9wcG9ydHVuaXR5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE9wcG9ydHVuaXR5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayhcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L29wcG9ydHVuaXR5LWZyb20tZW5nYWdlbWVudC10YXNrLyR7cHJvcHMudGFza0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdHRhc2tJZDogbWF0Y2guZ3JvdXBzIS50YXNrSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUGFydG5lciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwYXJ0bmVyKHByb3BzOiBQYXJ0bmVyY2VudHJhbFBhcnRuZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L3BhcnRuZXIvJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBQYXJ0bmVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQYXJ0bmVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBhcnRuZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUGFydG5lciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQYXJ0bmVyQXJuKGFybjogc3RyaW5nKTogUGFydG5lcmNlbnRyYWxQYXJ0bmVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQYXJ0bmVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFBhcnRuZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9ncmFtTWFuYWdlbWVudEFjY291bnQoXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L3Byb2dyYW0tbWFuYWdlbWVudC1hY2NvdW50LyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayhcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L3Byb3NwZWN0aW5nLWZyb20tZW5nYWdlbWVudC10YXNrLyR7cHJvcHMudGFza0lkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0dGFza0lkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEudGFza0lkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVsYXRpb25zaGlwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlbGF0aW9uc2hpcChwcm9wczogUGFydG5lcmNlbnRyYWxSZWxhdGlvbnNoaXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L3Byb2dyYW0tbWFuYWdlbWVudC1hY2NvdW50LyR7cHJvcHMucHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50SWR9L3JlbGF0aW9uc2hpcC8ke3Byb3BzLnJlbGF0aW9uc2hpcElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZWxhdGlvbnNoaXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlbGF0aW9uc2hpcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWxhdGlvbnNoaXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVsYXRpb25zaGlwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlbGF0aW9uc2hpcEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxSZWxhdGlvbnNoaXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlbGF0aW9uc2hpcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZWxhdGlvbnNoaXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0cHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50SWQ6IG1hdGNoLmdyb3VwcyEucHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50SWQsXG5cdFx0XHRyZWxhdGlvbnNoaXBJZDogbWF0Y2guZ3JvdXBzIS5yZWxhdGlvbnNoaXBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZXNvdXJjZVNuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlU25hcHNob3QoXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsUmVzb3VyY2VTbmFwc2hvdEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9lbmdhZ2VtZW50LyR7cHJvcHMuZW5nYWdlbWVudElkZW50aWZpZXJ9L3Jlc291cmNlLyR7cHJvcHMucmVzb3VyY2VUeXBlfS8ke3Byb3BzLnJlc291cmNlSWRlbnRpZmllcn0vdGVtcGxhdGUvJHtwcm9wcy50ZW1wbGF0ZUlkZW50aWZpZXJ9L3Jlc291cmNlLXNuYXBzaG90LyR7cHJvcHMuc25hcHNob3RSZXZpc2lvbn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVzb3VyY2VTbmFwc2hvdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVzb3VyY2VTbmFwc2hvdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXNvdXJjZVNuYXBzaG90QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlc291cmNlU25hcHNob3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVzb3VyY2VTbmFwc2hvdEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNvdXJjZVNuYXBzaG90QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlc291cmNlU25hcHNob3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0ZW5nYWdlbWVudElkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuZW5nYWdlbWVudElkZW50aWZpZXIsXG5cdFx0XHRyZXNvdXJjZVR5cGU6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VUeXBlLFxuXHRcdFx0cmVzb3VyY2VJZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWRlbnRpZmllcixcblx0XHRcdHRlbXBsYXRlSWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS50ZW1wbGF0ZUlkZW50aWZpZXIsXG5cdFx0XHRzbmFwc2hvdFJldmlzaW9uOiBtYXRjaC5ncm91cHMhLnNuYXBzaG90UmV2aXNpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmV2ZW51ZUF0dHJpYnV0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJldmVudWVBdHRyaWJ1dGlvbihcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxSZXZlbnVlQXR0cmlidXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vcmV2ZW51ZS1hdHRyaWJ1dGlvbi8ke3Byb3BzLnJldmVudWVBdHRyaWJ1dGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXZlbnVlQXR0cmlidXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJldmVudWVBdHRyaWJ1dGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXZlbnVlQXR0cmlidXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmV2ZW51ZUF0dHJpYnV0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJldmVudWVBdHRyaWJ1dGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxSZXZlbnVlQXR0cmlidXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJldmVudWVBdHRyaWJ1dGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZXZlbnVlQXR0cmlidXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0cmV2ZW51ZUF0dHJpYnV0aW9uSWQ6IG1hdGNoLmdyb3VwcyEucmV2ZW51ZUF0dHJpYnV0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgU29sdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc29sdXRpb24ocHJvcHM6IFBhcnRuZXJjZW50cmFsU29sdXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L3NvbHV0aW9uLyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgU29sdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNvbHV0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNvbHV0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFNvbHV0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNvbHV0aW9uQXJuKGFybjogc3RyaW5nKTogUGFydG5lcmNlbnRyYWxTb2x1dGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU29sdXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU29sdXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVuZ2FnZW1lbnQtYnktYWNjZXB0aW5nLWludml0YXRpb24tdGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFzayhcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2VuZ2FnZW1lbnQtYnktYWNjZXB0aW5nLWludml0YXRpb24tdGFzay8ke3Byb3BzLnRhc2tJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZW5nYWdlbWVudC1ieS1hY2NlcHRpbmctaW52aXRhdGlvbi10YXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlbmdhZ2VtZW50LWJ5LWFjY2VwdGluZy1pbnZpdGF0aW9uLXRhc2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgSW52YWxpZCBlbmdhZ2VtZW50LWJ5LWFjY2VwdGluZy1pbnZpdGF0aW9uLXRhc2sgQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0dGFza0lkOiBtYXRjaC5ncm91cHMhLnRhc2tJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlbmdhZ2VtZW50LWZyb20tb3Bwb3J0dW5pdHktdGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFzayhcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2VuZ2FnZW1lbnQtZnJvbS1vcHBvcnR1bml0eS10YXNrLyR7cHJvcHMudGFza0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlbmdhZ2VtZW50LWZyb20tb3Bwb3J0dW5pdHktdGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZW5nYWdlbWVudC1mcm9tLW9wcG9ydHVuaXR5LXRhc2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVuZ2FnZW1lbnQtZnJvbS1vcHBvcnR1bml0eS10YXNrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdHRhc2tJZDogbWF0Y2guZ3JvdXBzIS50YXNrSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZW5nYWdlbWVudC1pbnZpdGF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVuZ2FnZW1lbnRJbnZpdGF0aW9uKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRJbnZpdGF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vZW5nYWdlbWVudC1pbnZpdGF0aW9uLyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZW5nYWdlbWVudC1pbnZpdGF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFbmdhZ2VtZW50SW52aXRhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbmdhZ2VtZW50SW52aXRhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlbmdhZ2VtZW50LWludml0YXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5nYWdlbWVudEludml0YXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEludml0YXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVuZ2FnZW1lbnRJbnZpdGF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVuZ2FnZW1lbnQtaW52aXRhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVzb3VyY2Utc25hcHNob3Qtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlU25hcHNob3RKb2IoXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsUmVzb3VyY2VTbmFwc2hvdEpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9yZXNvdXJjZS1zbmFwc2hvdC1qb2IvJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZXNvdXJjZS1zbmFwc2hvdC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlc291cmNlU25hcHNob3RKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVzb3VyY2VTbmFwc2hvdEpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZXNvdXJjZS1zbmFwc2hvdC1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVzb3VyY2VTbmFwc2hvdEpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90Sm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNvdXJjZVNuYXBzaG90Sm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlc291cmNlLXNuYXBzaG90LWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgcGFydG5lcmNlbnRyYWwuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXJ0bmVyY2VudHJhbE9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBY2NlcHRDaGFubmVsSGFuZHNoYWtlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0Q2hhbm5lbEhhbmRzaGFrZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBY2NlcHRDaGFubmVsSGFuZHNoYWtlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFjY2VwdENvbm5lY3Rpb25JbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0Q29ubmVjdGlvbkludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6QWNjZXB0Q29ubmVjdGlvbkludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWNjZXB0RW5nYWdlbWVudEludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBbWVuZEJlbmVmaXRBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFtZW5kQmVuZWZpdEFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkFtZW5kQmVuZWZpdEFwcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc2lnbk9wcG9ydHVuaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzaWduT3Bwb3J0dW5pdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6QXNzaWduT3Bwb3J0dW5pdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZU9wcG9ydHVuaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3Bwb3J0dW5pdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlT3Bwb3J0dW5pdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhbmNlbEJlbmVmaXRBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxDaGFubmVsSGFuZHNoYWtlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQ2hhbm5lbEhhbmRzaGFrZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxDaGFubmVsSGFuZHNoYWtlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbENvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhbmNlbENvbm5lY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsQ29ubmVjdGlvbkludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxQcm9maWxlVXBkYXRlVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFByb2ZpbGVVcGRhdGVUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhbmNlbFByb2ZpbGVVcGRhdGVUYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVCZW5lZml0QXBwbGljYXRpb25cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNoYW5uZWxIYW5kc2hha2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDaGFubmVsSGFuZHNoYWtlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUNoYW5uZWxIYW5kc2hha2VcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmVsYXRpb25zaGlwXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25uZWN0aW9uSW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVuZ2FnZW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRW5nYWdlbWVudENvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50Q29udGV4dDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVFbmdhZ2VtZW50Q29udGV4dFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZ2FnZW1lbnRJbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRJbnZpdGF0aW9uXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlT3Bwb3J0dW5pdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHBvcnR1bml0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGFydG5lciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUGFydG5lclwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVsYXRpb25zaGlwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVsYXRpb25zaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlbGF0aW9uc2hpcFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRBd3NPcHBvcnR1bml0eVN1bW1hcnlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE9wcG9ydHVuaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlc291cmNlU25hcHNob3RKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RKb2JcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE9wcG9ydHVuaXR5XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXZlbnVlQXR0cmlidXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXZlbnVlQXR0cmlidXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmV2ZW51ZUF0dHJpYnV0aW9uXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6RGVsZXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlbGF0aW9uc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlbGF0aW9uc2hpcDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEZWxldGVSZWxhdGlvbnNoaXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVzb3VyY2VTbmFwc2hvdEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlU25hcHNob3RKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6RGVsZXRlUmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkRpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6RGlzYXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVPcHBvcnR1bml0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEaXNhc3NvY2lhdGVPcHBvcnR1bml0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBbGxpYW5jZUxlYWRDb250YWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBbGxpYW5jZUxlYWRDb250YWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEFsbGlhbmNlTGVhZENvbnRhY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBd3NPcHBvcnR1bml0eVN1bW1hcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJlbmVmaXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJlbmVmaXQ6IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6R2V0QmVuZWZpdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QmVuZWZpdEFsbG9jYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJlbmVmaXRBbGxvY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXRBbGxvY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJlbmVmaXRBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QmVuZWZpdEFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXRBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25uZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcInBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbm5lY3Rpb25JbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25uZWN0aW9uSW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRDb25uZWN0aW9uSW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25uZWN0aW9uUHJlZmVyZW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbm5lY3Rpb25QcmVmZXJlbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRDb25uZWN0aW9uUHJlZmVyZW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RW5nYWdlbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RW5nYWdlbWVudDogc3RyaW5nW10gPSBbXCJwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFbmdhZ2VtZW50SW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RW5nYWdlbWVudEludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudEludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcHBvcnR1bml0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T3Bwb3J0dW5pdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0T3Bwb3J0dW5pdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UGFydG5lciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UGFydG5lcjogc3RyaW5nW10gPSBbXCJwYXJ0bmVyY2VudHJhbDpHZXRQYXJ0bmVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlVXBkYXRlVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvZmlsZVVwZGF0ZVRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvZmlsZVVwZGF0ZVRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UHJvZmlsZVZpc2liaWxpdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb2ZpbGVWaXNpYmlsaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFByb2ZpbGVWaXNpYmlsaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uRGV0YWlscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWxhdGlvbnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlbGF0aW9uc2hpcDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZWxhdGlvbnNoaXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXNvdXJjZVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlU25hcHNob3RKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlU25hcHNob3RKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXZlbnVlQXR0cmlidXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJldmVudWVBdHRyaWJ1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXZlbnVlQXR0cmlidXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlbGxpbmdTeXN0ZW1TZXR0aW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VmVyaWZpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRWZXJpZmljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0VmVyaWZpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCZW5lZml0QWxsb2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdEFsbG9jYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0QWxsb2NhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJlbmVmaXRBcHBsaWNhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdEFwcGxpY2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0QmVuZWZpdEFwcGxpY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QmVuZWZpdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdHM6IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6TGlzdEJlbmVmaXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2hhbm5lbEhhbmRzaGFrZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2hhbm5lbEhhbmRzaGFrZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdENoYW5uZWxIYW5kc2hha2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25uZWN0aW9uSW52aXRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdGlvbkludml0YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RDb25uZWN0aW9uSW52aXRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbm5lY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RDb25uZWN0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50SW52aXRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5nYWdlbWVudE1lbWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudE1lbWJlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRNZW1iZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudFJlc291cmNlQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVuZ2FnZW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9wcG9ydHVuaXRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3Bwb3J0dW5pdGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0T3Bwb3J0dW5pdGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQYXJ0bmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXJ0bmVyczogc3RyaW5nW10gPSBbXCJwYXJ0bmVyY2VudHJhbDpMaXN0UGFydG5lcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm9ncmFtTWFuYWdlbWVudEFjY291bnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVsYXRpb25zaGlwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWxhdGlvbnNoaXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RSZWxhdGlvbnNoaXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvdXJjZVNuYXBzaG90Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZVNuYXBzaG90Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc291cmNlU25hcHNob3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlU25hcHNob3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RSZXNvdXJjZVNuYXBzaG90c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXZlbnVlQXR0cmlidXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJldmVudWVBdHRyaWJ1dGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJldmVudWVBdHRyaWJ1dGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNvbHV0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTb2x1dGlvbnM6IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6TGlzdFNvbHV0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRBbGxpYW5jZUxlYWRDb250YWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWxsaWFuY2VMZWFkQ29udGFjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQdXRBbGxpYW5jZUxlYWRDb250YWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFByb2ZpbGVWaXNpYmlsaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UHJvZmlsZVZpc2liaWxpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6UHV0UHJvZmlsZVZpc2liaWxpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpSZWNhbGxCZW5lZml0QXBwbGljYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVqZWN0Q2hhbm5lbEhhbmRzaGFrZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdENoYW5uZWxIYW5kc2hha2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVqZWN0Q2hhbm5lbEhhbmRzaGFrZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWplY3RDb25uZWN0aW9uSW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0RW5nYWdlbWVudEludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVqZWN0RW5nYWdlbWVudEludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvblwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlT3Bwb3J0dW5pdHlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RKb2JcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRJbnZpdGF0aW9uXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdWJtaXRPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlRW5nYWdlbWVudFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0T3Bwb3J0dW5pdHlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3VibWl0T3Bwb3J0dW5pdHlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZU9wcG9ydHVuaXR5XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFByb2ZpbGVVcGRhdGVUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm9maWxlVXBkYXRlVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFByb2ZpbGVVcGRhdGVUYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFJlc291cmNlU25hcHNob3RKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFZlcmlmaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VmVyaWZpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0VmVyaWZpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlc291cmNlU25hcHNob3RKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RvcFJlc291cmNlU25hcHNob3RKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3VibWl0QmVuZWZpdEFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0QmVuZWZpdEFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN1Ym1pdEJlbmVmaXRBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRPcHBvcnR1bml0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdE9wcG9ydHVuaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN1Ym1pdE9wcG9ydHVuaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInBhcnRuZXJjZW50cmFsOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVCZW5lZml0QXBwbGljYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZUNvbm5lY3Rpb25QcmVmZXJlbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFbmdhZ2VtZW50Q29udGV4dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlT3Bwb3J0dW5pdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPcHBvcnR1bml0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVPcHBvcnR1bml0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlbGF0aW9uc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlbGF0aW9uc2hpcDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVSZWxhdGlvbnNoaXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmV2ZW51ZUF0dHJpYnV0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV2ZW51ZUF0dHJpYnV0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvblwiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgcGFydG5lcmNlbnRyYWwuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXJ0bmVyY2VudHJhbENvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQWNjZXB0Q2hhbm5lbEhhbmRzaGFrZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRDaGFubmVsSGFuZHNoYWtlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQWNjZXB0Q29ubmVjdGlvbkludml0YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0Q29ubmVjdGlvbkludml0YXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBbWVuZEJlbmVmaXRBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBbWVuZEJlbmVmaXRBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFzc2lnbk9wcG9ydHVuaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc2lnbk9wcG9ydHVuaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQXNzb2NpYXRlT3Bwb3J0dW5pdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3Bwb3J0dW5pdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlJlbGF0ZWRFbnRpdHlUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYW5jZWxCZW5lZml0QXBwbGljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ2FuY2VsQ2hhbm5lbEhhbmRzaGFrZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDaGFubmVsSGFuZHNoYWtlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ2FuY2VsQ29ubmVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCZW5lZml0QXBwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDaGFubmVsSGFuZHNoYWtlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNoYW5uZWxIYW5kc2hha2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb25uZWN0aW9uSW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0aW9uSW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRW5nYWdlbWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFbmdhZ2VtZW50Q29udGV4dCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50Q29udGV4dENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRW5nYWdlbWVudEludml0YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5nYWdlbWVudEludml0YXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVPcHBvcnR1bml0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHBvcnR1bml0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUGFydG5lciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZWxhdGlvbnNoaXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVsYXRpb25zaGlwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlc291cmNlU25hcHNob3RKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmV2ZW51ZUF0dHJpYnV0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJldmVudWVBdHRyaWJ1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlUmVsYXRpb25zaGlwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlbGF0aW9uc2hpcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlUmVzb3VyY2VTbmFwc2hvdEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcblx0XHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlJlbGF0ZWRFbnRpdHlUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRBbGxpYW5jZUxlYWRDb250YWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFsbGlhbmNlTGVhZENvbnRhY3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEF3c09wcG9ydHVuaXR5U3VtbWFyeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBd3NPcHBvcnR1bml0eVN1bW1hcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEJlbmVmaXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmVuZWZpdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEJlbmVmaXRBbGxvY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJlbmVmaXRBbGxvY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRCZW5lZml0QXBwbGljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmVuZWZpdEFwcGxpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0Q29ubmVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRDb25uZWN0aW9uSW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0aW9uSW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0Q29ubmVjdGlvblByZWZlcmVuY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbm5lY3Rpb25QcmVmZXJlbmNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0RW5nYWdlbWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFbmdhZ2VtZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRFbmdhZ2VtZW50SW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFbmdhZ2VtZW50SW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldE9wcG9ydHVuaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE9wcG9ydHVuaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRQYXJ0bmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhcnRuZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFBhcnRuZXJEYXNoYm9hcmQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFydG5lckRhc2hib2FyZENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UHJvZmlsZVVwZGF0ZVRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZVVwZGF0ZVRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFByb2ZpbGVWaXNpYmlsaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2ZpbGVWaXNpYmlsaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UmVsYXRpb25zaGlwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uc2hpcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UmVzb3VyY2VTbmFwc2hvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVNuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRSZXNvdXJjZVNuYXBzaG90Sm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlU25hcHNob3RKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFJldmVudWVBdHRyaWJ1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXZlbnVlQXR0cmlidXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0U2VsbGluZ1N5c3RlbVNldHRpbmdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlbGxpbmdTeXN0ZW1TZXR0aW5nc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0VmVyaWZpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFZlcmlmaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VmVyaWZpY2F0aW9uVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEJlbmVmaXRBbGxvY2F0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdEFsbG9jYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0QmVuZWZpdEFwcGxpY2F0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdEFwcGxpY2F0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RCZW5lZml0cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0Q2hhbm5lbEhhbmRzaGFrZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENoYW5uZWxIYW5kc2hha2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdENvbm5lY3Rpb25JbnZpdGF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdGlvbkludml0YXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0Q29ubmVjdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3Rpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudEludml0YXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RW5nYWdlbWVudE1lbWJlcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRNZW1iZXJzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RW5nYWdlbWVudFJlc291cmNlQXNzb2NpYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RFbmdhZ2VtZW50cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RPcHBvcnR1bml0aWVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHBvcnR1bml0aWVzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RQYXJ0bmVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGFydG5lcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RQcm9ncmFtTWFuYWdlbWVudEFjY291bnRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9ncmFtTWFuYWdlbWVudEFjY291bnRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RSZWxhdGlvbnNoaXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWxhdGlvbnNoaXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlU25hcHNob3RKb2JzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UmVzb3VyY2VTbmFwc2hvdHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlU25hcHNob3RzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFNvbHV0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U29sdXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0QWxsaWFuY2VMZWFkQ29udGFjdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBbGxpYW5jZUxlYWRDb250YWN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRQcm9maWxlVmlzaWJpbGl0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlVmlzaWJpbGl0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFNlbGxpbmdTeXN0ZW1TZXR0aW5nc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVjYWxsQmVuZWZpdEFwcGxpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlamVjdENoYW5uZWxIYW5kc2hha2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0Q2hhbm5lbEhhbmRzaGFrZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2hhbm5lbEhhbmRzaGFrZVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWplY3RFbmdhZ2VtZW50SW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RFbmdhZ2VtZW50SW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1xuXHRcdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFByb2ZpbGVVcGRhdGVUYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UHJvZmlsZVVwZGF0ZVRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFJlc291cmNlU25hcHNob3RKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRWZXJpZmljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRWZXJpZmljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlZlcmlmaWNhdGlvblR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdWJtaXRCZW5lZml0QXBwbGljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0QmVuZWZpdEFwcGxpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3VibWl0T3Bwb3J0dW5pdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0T3Bwb3J0dW5pdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCZW5lZml0QXBwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVDb25uZWN0aW9uUHJlZmVyZW5jZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVFbmdhZ2VtZW50Q29udGV4dCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmdhZ2VtZW50Q29udGV4dENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlT3Bwb3J0dW5pdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3Bwb3J0dW5pdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVJlbGF0aW9uc2hpcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWxhdGlvbnNoaXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXZlbnVlQXR0cmlidXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVzZVNlc3Npb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXNlU2Vzc2lvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBhcnRuZXJjZW50cmFsOkNhdGFsb2cgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENBVEFMT0cgPSBcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDSEFOTkVMX0hBTkRTSEFLRV9UWVBFID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRlVMRklMTE1FTlRfVFlQRVMgPSBcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBhcnRuZXJjZW50cmFsOlByb2dyYW1zIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPR1JBTVMgPSBcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXJ0bmVyY2VudHJhbDpSZWxhdGVkRW50aXR5VHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVMQVRFRF9FTlRJVFlfVFlQRSA9IFwicGFydG5lcmNlbnRyYWw6UmVsYXRlZEVudGl0eVR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBhcnRuZXJjZW50cmFsOlZlcmlmaWNhdGlvblR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZFUklGSUNBVElPTl9UWVBFID0gXCJwYXJ0bmVyY2VudHJhbDpWZXJpZmljYXRpb25UeXBlXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBhcnRuZXJjZW50cmFsOkNhdGFsb2dgLlxuXHQgKi9cblx0c3RhdGljIGNhdGFsb2codmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgY2hhbm5lbEhhbmRzaGFrZVR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzYC5cblx0ICovXG5cdHN0YXRpYyBmdWxmaWxsbWVudFR5cGVzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBhcnRuZXJjZW50cmFsOlByb2dyYW1zYC5cblx0ICovXG5cdHN0YXRpYyBwcm9ncmFtcyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXJ0bmVyY2VudHJhbDpSZWxhdGVkRW50aXR5VHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVsYXRlZEVudGl0eVR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInBhcnRuZXJjZW50cmFsOlJlbGF0ZWRFbnRpdHlUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXJ0bmVyY2VudHJhbDpWZXJpZmljYXRpb25UeXBlYC5cblx0ICovXG5cdHN0YXRpYyB2ZXJpZmljYXRpb25UeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJwYXJ0bmVyY2VudHJhbDpWZXJpZmljYXRpb25UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
2298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lcmNlbnRyYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL3BhcnRuZXJjZW50cmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQscURBQXFEO0FBQ3JELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLHFCQUFxQjs7QUFBbEMsc0RBcWdCQzs7O0FBcGdCQSw4QkFBOEI7QUFDZCxvQ0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBRWxELG9EQUFvRDtBQUNwQyw0Q0FBc0IsR0FDckMsdUNBQXVDLENBQUM7QUFDekMsd0RBQXdEO0FBQ3hDLGdEQUEwQixHQUN6QywyQ0FBMkMsQ0FBQztBQUM3Qyx3REFBd0Q7QUFDeEMsZ0RBQTBCLEdBQ3pDLDJDQUEyQyxDQUFDO0FBQzdDLHFEQUFxRDtBQUNyQyw2Q0FBdUIsR0FDdEMsd0NBQXdDLENBQUM7QUFDMUMsK0NBQStDO0FBQy9CLHVDQUFpQixHQUFHLGtDQUFrQyxDQUFDO0FBQ3ZFLDBFQUEwRTtBQUMxRCxrRUFBNEMsR0FDM0QsNkRBQTZELENBQUM7QUFDL0QsaUVBQWlFO0FBQ2pELHlEQUFtQyxHQUNsRCxvREFBb0QsQ0FBQztBQUN0RCxrREFBa0Q7QUFDbEMsMENBQW9CLEdBQUcscUNBQXFDLENBQUM7QUFDN0Usc0RBQXNEO0FBQ3RDLDhDQUF3QixHQUN2Qyx5Q0FBeUMsQ0FBQztBQUMzQyxvREFBb0Q7QUFDcEMsNENBQXNCLEdBQ3JDLHVDQUF1QyxDQUFDO0FBQ3pDLDhDQUE4QztBQUM5QixzQ0FBZ0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUNyRSx3REFBd0Q7QUFDeEMsZ0RBQTBCLEdBQ3pDLDJDQUEyQyxDQUFDO0FBQzdDLHFEQUFxRDtBQUNyQyw2Q0FBdUIsR0FDdEMsd0NBQXdDLENBQUM7QUFDMUMsc0RBQXNEO0FBQ3RD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Q0FBQztBQUM3QyxxREFBcUQ7QUFDckMsZ0NBQU8sR0FBRyx3QkFBd0IsQ0FBQztBQUNuRCxrRUFBa0U7QUFDbEQsK0NBQXNCLEdBQ3JDLHFDQUFxQyxDQUFDO0FBQ3ZDLHFFQUFxRTtBQUNyRCwwQ0FBaUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUN0RSw2REFBNkQ7QUFDN0MsaUNBQVEsR0FBRyx5QkFBeUIsQ0FBQztBQUNyRCwrREFBK0Q7QUFDL0MsNENBQW1CLEdBQUcsa0NBQWtDLENBQUM7QUFDekUsOERBQThEO0FBQzlDLDBDQUFpQixHQUFHLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvcGFydG5lcmNlbnRyYWwuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIHBhcnRuZXJjZW50cmFsIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXJ0bmVyY2VudHJhbEFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJwYXJ0bmVyY2VudHJhbFwiO1xuXG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkFjY2VwdENoYW5uZWxIYW5kc2hha2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdENoYW5uZWxIYW5kc2hha2UgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6QWNjZXB0Q2hhbm5lbEhhbmRzaGFrZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpBY2NlcHRDb25uZWN0aW9uSW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0Q29ubmVjdGlvbkludml0YXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6QWNjZXB0Q29ubmVjdGlvbkludml0YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6QWNjZXB0RW5nYWdlbWVudEludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkFtZW5kQmVuZWZpdEFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBbWVuZEJlbmVmaXRBcHBsaWNhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBbWVuZEJlbmVmaXRBcHBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpBc3NpZ25PcHBvcnR1bml0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzaWduT3Bwb3J0dW5pdHkgPSBcInBhcnRuZXJjZW50cmFsOkFzc2lnbk9wcG9ydHVuaXR5XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkFzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpBc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2UgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlT3Bwb3J0dW5pdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZU9wcG9ydHVuaXR5ID0gXCJwYXJ0bmVyY2VudHJhbDpBc3NvY2lhdGVPcHBvcnR1bml0eVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDYW5jZWxCZW5lZml0QXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEJlbmVmaXRBcHBsaWNhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxCZW5lZml0QXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q2FuY2VsQ2hhbm5lbEhhbmRzaGFrZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQ2hhbm5lbEhhbmRzaGFrZSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxDaGFubmVsSGFuZHNoYWtlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNhbmNlbENvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbENvbm5lY3Rpb24gPSBcInBhcnRuZXJjZW50cmFsOkNhbmNlbENvbm5lY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q2FuY2VsQ29ubmVjdGlvbkludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbENvbm5lY3Rpb25JbnZpdGF0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNhbmNlbENvbm5lY3Rpb25JbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNhbmNlbFByb2ZpbGVVcGRhdGVUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxQcm9maWxlVXBkYXRlVGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxQcm9maWxlVXBkYXRlVGFza1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVCZW5lZml0QXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVCZW5lZml0QXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlQnVzaW5lc3NQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCdXNpbmVzc1BsYW4gPSBcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUJ1c2luZXNzUGxhblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVDaGFubmVsSGFuZHNoYWtlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDaGFubmVsSGFuZHNoYWtlID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUNoYW5uZWxIYW5kc2hha2VcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlQ29sbGFib3JhdGlvbkNoYW5uZWxNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbm5lbE1lbWJlcnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlQ29sbGFib3JhdGlvbkNoYW5uZWxNZW1iZXJzXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFubmVsUmVxdWVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29sbGFib3JhdGlvbkNoYW5uZWxSZXF1ZXN0ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFubmVsUmVxdWVzdFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVDb25uZWN0aW9uSW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdGlvbkludml0YXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlQ29ubmVjdGlvbkludml0YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlRW5nYWdlbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5nYWdlbWVudCA9IFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlRW5nYWdlbWVudFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVFbmdhZ2VtZW50Q29udGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5nYWdlbWVudENvbnRleHQgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlRW5nYWdlbWVudENvbnRleHRcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlRW5nYWdlbWVudEludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZ2FnZW1lbnRJbnZpdGF0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRJbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlT3Bwb3J0dW5pdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wcG9ydHVuaXR5ID0gXCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVPcHBvcnR1bml0eVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVQYXJ0bmVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyID0gXCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVQYXJ0bmVyXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZWxhdGlvbnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlbGF0aW9uc2hpcCA9IFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVsYXRpb25zaGlwXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlU25hcHNob3QgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RKb2JcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlUmV2ZW51ZUF0dHJpYnV0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXZlbnVlQXR0cmlidXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmV2ZW51ZUF0dHJpYnV0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkRlbGV0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkRlbGV0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpEZWxldGVSZWxhdGlvbnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlbGF0aW9uc2hpcCA9IFwicGFydG5lcmNlbnRyYWw6RGVsZXRlUmVsYXRpb25zaGlwXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkRlbGV0ZVJlc291cmNlU25hcHNob3RKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlU25hcHNob3RKb2IgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6RGVsZXRlUmVzb3VyY2VTbmFwc2hvdEpvYlwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpEaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6RGlzYXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6RGlzYXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkRpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkRpc2Fzc29jaWF0ZU9wcG9ydHVuaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVPcHBvcnR1bml0eSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEaXNhc3NvY2lhdGVPcHBvcnR1bml0eVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpFbnJvbGxJblBhcnRuZXJQYXRoICovXG5cdHN0YXRpYyByZWFkb25seSBFbnJvbGxJblBhcnRuZXJQYXRoID0gXCJwYXJ0bmVyY2VudHJhbDpFbnJvbGxJblBhcnRuZXJQYXRoXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0QWxsaWFuY2VMZWFkQ29udGFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWxsaWFuY2VMZWFkQ29udGFjdCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRBbGxpYW5jZUxlYWRDb250YWN0XCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBd3NPcHBvcnR1bml0eVN1bW1hcnkgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5XCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0QmVuZWZpdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmVuZWZpdCA9IFwicGFydG5lcmNlbnRyYWw6R2V0QmVuZWZpdFwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXRBbGxvY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCZW5lZml0QWxsb2NhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRCZW5lZml0QWxsb2NhdGlvblwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXRBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmVuZWZpdEFwcGxpY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXRBcHBsaWNhdGlvblwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldEJ1c2luZXNzUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QnVzaW5lc3NQbGFuID0gXCJwYXJ0bmVyY2VudHJhbDpHZXRCdXNpbmVzc1BsYW5cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRDb2xsYWJvcmF0aW9uQ2hhbm5lbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29sbGFib3JhdGlvbkNoYW5uZWwgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0Q29sbGFib3JhdGlvbkNoYW5uZWxcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0aW9uID0gXCJwYXJ0bmVyY2VudHJhbDpHZXRDb25uZWN0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0Q29ubmVjdGlvbkludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbm5lY3Rpb25JbnZpdGF0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb25JbnZpdGF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0Q29ubmVjdGlvblByZWZlcmVuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0aW9uUHJlZmVyZW5jZXMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0Q29ubmVjdGlvblByZWZlcmVuY2VzXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RW5nYWdlbWVudCA9IFwicGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudFwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRJbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFbmdhZ2VtZW50SW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50SW52aXRhdGlvblwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZVwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvblwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldE9wcG9ydHVuaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPcHBvcnR1bml0eSA9IFwicGFydG5lcmNlbnRyYWw6R2V0T3Bwb3J0dW5pdHlcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRQYXJ0bmVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJ0bmVyID0gXCJwYXJ0bmVyY2VudHJhbDpHZXRQYXJ0bmVyXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UGFydG5lckRhc2hib2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFydG5lckRhc2hib2FyZCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRQYXJ0bmVyRGFzaGJvYXJkXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UGFydG5lclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhcnRuZXJQcm9maWxlID0gXCJwYXJ0bmVyY2VudHJhbDpHZXRQYXJ0bmVyUHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFByb2ZpbGVVcGRhdGVUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9maWxlVXBkYXRlVGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRQcm9maWxlVXBkYXRlVGFza1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFByb2ZpbGVWaXNpYmlsaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9maWxlVmlzaWJpbGl0eSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRQcm9maWxlVmlzaWJpbGl0eVwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudFwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25EZXRhaWxzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uRGV0YWlscyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uRGV0YWlsc1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFza1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFza1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFJlbGF0aW9uc2hpcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVsYXRpb25zaGlwID0gXCJwYXJ0bmVyY2VudHJhbDpHZXRSZWxhdGlvbnNoaXBcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRSZXNvdXJjZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVNuYXBzaG90ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJlc291cmNlU25hcHNob3RcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRSZXNvdXJjZVNuYXBzaG90Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVNuYXBzaG90Sm9iID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJlc291cmNlU25hcHNob3RKb2JcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRSZXZlbnVlQXR0cmlidXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJldmVudWVBdHRyaWJ1dGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXZlbnVlQXR0cmlidXRpb25cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2tcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlbGxpbmdTeXN0ZW1TZXR0aW5ncyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3NcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRWZXJpZmljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFZlcmlmaWNhdGlvbiA9IFwicGFydG5lcmNlbnRyYWw6R2V0VmVyaWZpY2F0aW9uXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdEJlbmVmaXRBbGxvY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJlbmVmaXRBbGxvY2F0aW9ucyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0QmVuZWZpdEFsbG9jYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdEJlbmVmaXRBcHBsaWNhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCZW5lZml0QXBwbGljYXRpb25zID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0QXBwbGljYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdEJlbmVmaXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdHMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0c1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RCdXNpbmVzc1BsYW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QnVzaW5lc3NQbGFucyA9IFwicGFydG5lcmNlbnRyYWw6TGlzdEJ1c2luZXNzUGxhbnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0Q2hhbm5lbEhhbmRzaGFrZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDaGFubmVsSGFuZHNoYWtlcyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0Q2hhbm5lbEhhbmRzaGFrZXNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0Q29sbGFib3JhdGlvbkNoYW5uZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvbkNoYW5uZWxzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RDb2xsYWJvcmF0aW9uQ2hhbm5lbHNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0Q29ubmVjdGlvbkludml0YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdGlvbkludml0YXRpb25zID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RDb25uZWN0aW9uSW52aXRhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0Q29ubmVjdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0aW9ucyA9IFwicGFydG5lcmNlbnRyYWw6TGlzdENvbm5lY3Rpb25zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrcyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrcyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9ucyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudEludml0YXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudE1lbWJlcnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRNZW1iZXJzXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRSZXNvdXJjZUFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRSZXNvdXJjZUFzc29jaWF0aW9ucyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudFJlc291cmNlQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudHMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50c1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9ucyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RPcHBvcnR1bml0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3Bwb3J0dW5pdGllcyA9IFwicGFydG5lcmNlbnRyYWw6TGlzdE9wcG9ydHVuaXRpZXNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza3NcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0UGFydG5lclBhdGhzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGFydG5lclBhdGhzID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0UGFydG5lclBhdGhzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFBhcnRuZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGFydG5lcnMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RQYXJ0bmVyc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RQcm9ncmFtTWFuYWdlbWVudEFjY291bnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50cyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50c1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3MgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RSZWxhdGlvbnNoaXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVsYXRpb25zaGlwcyA9IFwicGFydG5lcmNlbnRyYWw6TGlzdFJlbGF0aW9uc2hpcHNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZVNuYXBzaG90Sm9icyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0UmVzb3VyY2VTbmFwc2hvdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZVNuYXBzaG90cyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UmVzb3VyY2VTbmFwc2hvdHNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9ucyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0UmV2ZW51ZUF0dHJpYnV0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJldmVudWVBdHRyaWJ1dGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJldmVudWVBdHRyaWJ1dGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0U29sdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U29sdXRpb25zID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0U29sdXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwicGFydG5lcmNlbnRyYWw6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpQdXRBbGxpYW5jZUxlYWRDb250YWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBbGxpYW5jZUxlYWRDb250YWN0ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlB1dEFsbGlhbmNlTGVhZENvbnRhY3RcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6UHV0QnVzaW5lc3NQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRCdXNpbmVzc1BsYW4gPSBcInBhcnRuZXJjZW50cmFsOlB1dEJ1c2luZXNzUGxhblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpQdXRQcm9maWxlVmlzaWJpbGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UHJvZmlsZVZpc2liaWxpdHkgPSBcInBhcnRuZXJjZW50cmFsOlB1dFByb2ZpbGVWaXNpYmlsaXR5XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlB1dFNlbGxpbmdTeXN0ZW1TZXR0aW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlB1dFNlbGxpbmdTeXN0ZW1TZXR0aW5nc1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpSZWNhbGxCZW5lZml0QXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpSZWNhbGxCZW5lZml0QXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6UmVqZWN0Q2hhbm5lbEhhbmRzaGFrZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0Q2hhbm5lbEhhbmRzaGFrZSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpSZWplY3RDaGFubmVsSGFuZHNoYWtlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RDb25uZWN0aW9uSW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpSZWplY3RDb25uZWN0aW9uSW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpSZWplY3RFbmdhZ2VtZW50SW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0RW5nYWdlbWVudEludml0YXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVqZWN0RW5nYWdlbWVudEludml0YXRpb25cIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpTZWFyY2hQYXJ0bmVyUHJvZmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFBhcnRuZXJQcm9maWxlcyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTZWFyY2hQYXJ0bmVyUHJvZmlsZXNcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0UHJvZmlsZVVwZGF0ZVRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UHJvZmlsZVVwZGF0ZVRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRQcm9maWxlVXBkYXRlVGFza1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFza1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydFJlc291cmNlU25hcHNob3RKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFJlc291cmNlU25hcHNob3RKb2JcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0VmVyaWZpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFZlcmlmaWNhdGlvbiA9IFwicGFydG5lcmNlbnRyYWw6U3RhcnRWZXJpZmljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RvcFJlc291cmNlU25hcHNob3RKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN1Ym1pdEJlbmVmaXRBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0QmVuZWZpdEFwcGxpY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN1Ym1pdEJlbmVmaXRBcHBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdWJtaXRPcHBvcnR1bml0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0T3Bwb3J0dW5pdHkgPSBcInBhcnRuZXJjZW50cmFsOlN1Ym1pdE9wcG9ydHVuaXR5XCI7XG5cdC8qKiBbVGFnZ2luZ10gcGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIHBhcnRuZXJjZW50cmFsOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcInBhcnRuZXJjZW50cmFsOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6VXBkYXRlQmVuZWZpdEFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCZW5lZml0QXBwbGljYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlQmVuZWZpdEFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVwZGF0ZUNvbm5lY3Rpb25QcmVmZXJlbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZUNvbm5lY3Rpb25QcmVmZXJlbmNlc1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVcGRhdGVFbmdhZ2VtZW50Q29udGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRW5nYWdlbWVudENvbnRleHQgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlRW5nYWdlbWVudENvbnRleHRcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6VXBkYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVwZGF0ZU9wcG9ydHVuaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPcHBvcnR1bml0eSA9IFwicGFydG5lcmNlbnRyYWw6VXBkYXRlT3Bwb3J0dW5pdHlcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6VXBkYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVwZGF0ZVJlbGF0aW9uc2hpcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVsYXRpb25zaGlwID0gXCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVSZWxhdGlvbnNoaXBcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6VXBkYXRlUmV2ZW51ZUF0dHJpYnV0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXZlbnVlQXR0cmlidXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlUmV2ZW51ZUF0dHJpYnV0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVzZVNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVzZVNlc3Npb24gPSBcInBhcnRuZXJjZW50cmFsOlVzZVNlc3Npb25cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0QWxsaWFuY2VMZWFkQ29udGFjdCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRCZW5lZml0LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRCZW5lZml0QWxsb2NhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0QmVuZWZpdEFwcGxpY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRCdXNpbmVzc1BsYW4sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldENvbGxhYm9yYXRpb25DaGFubmVsLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRDb25uZWN0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRDb25uZWN0aW9uSW52aXRhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0Q29ubmVjdGlvblByZWZlcmVuY2VzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRFbmdhZ2VtZW50LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRFbmdhZ2VtZW50SW52aXRhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmUsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0T3Bwb3J0dW5pdHksXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFBhcnRuZXIsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFBhcnRuZXJEYXNoYm9hcmQsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFBhcnRuZXJQcm9maWxlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlVXBkYXRlVGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UHJvZmlsZVZpc2liaWxpdHksXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25EZXRhaWxzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFJlbGF0aW9uc2hpcCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VTbmFwc2hvdCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VTbmFwc2hvdEpvYixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFNlbGxpbmdTeXN0ZW1TZXR0aW5ncyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0VmVyaWZpY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0RW5nYWdlbWVudE1lbWJlcnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkFjY2VwdENoYW5uZWxIYW5kc2hha2UsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkFjY2VwdENvbm5lY3Rpb25JbnZpdGF0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5BY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQW1lbmRCZW5lZml0QXBwbGljYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkFzc2lnbk9wcG9ydHVuaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5Bc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2UsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkFzc29jaWF0ZU9wcG9ydHVuaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DYW5jZWxCZW5lZml0QXBwbGljYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNhbmNlbENoYW5uZWxIYW5kc2hha2UsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNhbmNlbENvbm5lY3Rpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNhbmNlbENvbm5lY3Rpb25JbnZpdGF0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DYW5jZWxQcm9maWxlVXBkYXRlVGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlQmVuZWZpdEFwcGxpY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVCdXNpbmVzc1BsYW4sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUNoYW5uZWxIYW5kc2hha2UsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFubmVsTWVtYmVycyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlQ29sbGFib3JhdGlvbkNoYW5uZWxSZXF1ZXN0LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uSW52aXRhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlRW5nYWdlbWVudCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlRW5nYWdlbWVudENvbnRleHQsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUVuZ2FnZW1lbnRJbnZpdGF0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVPcHBvcnR1bml0eSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlUGFydG5lcixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVSZWxhdGlvbnNoaXAsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZVJlc291cmNlU25hcHNob3QsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZVJlc291cmNlU25hcHNob3RKb2IsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZVJldmVudWVBdHRyaWJ1dGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuRGVsZXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5EZWxldGVSZWxhdGlvbnNoaXAsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkRlbGV0ZVJlc291cmNlU25hcHNob3RKb2IsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkRpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5EaXNhc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuRGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHksXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkVucm9sbEluUGFydG5lclBhdGgsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlB1dEFsbGlhbmNlTGVhZENvbnRhY3QsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlB1dEJ1c2luZXNzUGxhbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuUHV0UHJvZmlsZVZpc2liaWxpdHksXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlB1dFNlbGxpbmdTeXN0ZW1TZXR0aW5ncyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuUmVjYWxsQmVuZWZpdEFwcGxpY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5SZWplY3RDaGFubmVsSGFuZHNoYWtlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5SZWplY3RDb25uZWN0aW9uSW52aXRhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuUmVqZWN0RW5nYWdlbWVudEludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGUsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN0YXJ0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN0YXJ0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN0YXJ0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN0YXJ0UHJvZmlsZVVwZGF0ZVRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN0YXJ0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN0YXJ0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN0YXJ0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3RhcnRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN0YXJ0VmVyaWZpY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdG9wUmVzb3VyY2VTbmFwc2hvdEpvYixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3VibWl0QmVuZWZpdEFwcGxpY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdWJtaXRPcHBvcnR1bml0eSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXBkYXRlQmVuZWZpdEFwcGxpY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5VcGRhdGVDb25uZWN0aW9uUHJlZmVyZW5jZXMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5VcGRhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVwZGF0ZU9wcG9ydHVuaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5VcGRhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVwZGF0ZVJlbGF0aW9uc2hpcCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXBkYXRlUmV2ZW51ZUF0dHJpYnV0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5Vc2VTZXNzaW9uLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEJlbmVmaXRBbGxvY2F0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEJlbmVmaXRBcHBsaWNhdGlvbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RCZW5lZml0cyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEJ1c2luZXNzUGxhbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RDaGFubmVsSGFuZHNoYWtlcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdENvbGxhYm9yYXRpb25DaGFubmVscyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdENvbm5lY3Rpb25JbnZpdGF0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdENvbm5lY3Rpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0RW5nYWdlbWVudEludml0YXRpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0RW5nYWdlbWVudHMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0T3Bwb3J0dW5pdGllcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFBhcnRuZXJQYXRocyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFBhcnRuZXJzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50cyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFJlbGF0aW9uc2hpcHMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RSZXNvdXJjZVNuYXBzaG90Sm9icyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFJlc291cmNlU25hcHNob3RzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RSZXZlbnVlQXR0cmlidXRpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0U29sdXRpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TZWFyY2hQYXJ0bmVyUHJvZmlsZXMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEJlbmVmaXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQmVuZWZpdEFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEJlbmVmaXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQmVuZWZpdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQmVuZWZpdEFsbG9jYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQmVuZWZpdEFsbG9jYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBCZW5lZml0QWxsb2NhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxCZW5lZml0QWxsb2NhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQmVuZWZpdEFwcGxpY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBcHBsaWNhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEJlbmVmaXRBcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxCZW5lZml0QXBwbGljYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENoYW5uZWxIYW5kc2hha2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQ2hhbm5lbEhhbmRzaGFrZUFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENoYW5uZWxIYW5kc2hha2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQ2hhbm5lbEhhbmRzaGFrZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ29ubmVjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29ubmVjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb25uZWN0aW9uSW52aXRhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uSW52aXRhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENvbm5lY3Rpb25JbnZpdGF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25JbnZpdGF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb25uZWN0aW9uUHJlZmVyZW5jZXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDb25uZWN0aW9uUHJlZmVyZW5jZXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgRGFzaGJvYXJkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbERhc2hib2FyZEFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFibGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFibGVJZDogc3RyaW5nO1xuXHQvKiogVGhlIERhc2hib2FyZElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYXNoYm9hcmRJZDogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgRGFzaGJvYXJkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbERhc2hib2FyZEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFibGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhYmxlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBEYXNoYm9hcmRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhc2hib2FyZElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBFbmdhZ2VtZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBFbmdhZ2VtZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBNYXJrZXRwbGFjZVByb2R1Y3RJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbWFya2V0cGxhY2VQcm9kdWN0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBNYXJrZXRwbGFjZVJldmVudWVTaGFyZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBNYXJrZXRwbGFjZVByb2R1Y3RJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1hcmtldHBsYWNlUHJvZHVjdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBPcHBvcnR1bml0eSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxPcHBvcnR1bml0eUFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE9wcG9ydHVuaXR5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbE9wcG9ydHVuaXR5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza0FyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXNrSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXNrSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFBhcnRuZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUGFydG5lckFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFBhcnRuZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUGFydG5lckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudEFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFza0lkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhc2tJZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZWxhdGlvbnNoaXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUmVsYXRpb25zaGlwQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBQcm9ncmFtTWFuYWdlbWVudEFjY291bnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50SWQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWxhdGlvbnNoaXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVsYXRpb25zaGlwSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZWxhdGlvbnNoaXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUmVsYXRpb25zaGlwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50SWQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWxhdGlvbnNoaXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlbGF0aW9uc2hpcElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZXNvdXJjZVNuYXBzaG90IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJlc291cmNlU25hcHNob3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIEVuZ2FnZW1lbnRJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBlbmdhZ2VtZW50SWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlVHlwZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VUeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBUZW1wbGF0ZUlkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRlbXBsYXRlSWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogVGhlIFNuYXBzaG90UmV2aXNpb24gY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNuYXBzaG90UmV2aXNpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZXNvdXJjZVNuYXBzaG90IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJlc291cmNlU25hcHNob3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgRW5nYWdlbWVudElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBlbmdhZ2VtZW50SWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlVHlwZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlVHlwZTogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogVGhlIFRlbXBsYXRlSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRlbXBsYXRlSWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogVGhlIFNuYXBzaG90UmV2aXNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzbmFwc2hvdFJldmlzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZXZlbnVlQXR0cmlidXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUmV2ZW51ZUF0dHJpYnV0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBSZXZlbnVlQXR0cmlidXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmV2ZW51ZUF0dHJpYnV0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZXZlbnVlQXR0cmlidXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUmV2ZW51ZUF0dHJpYnV0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFJldmVudWVBdHRyaWJ1dGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmV2ZW51ZUF0dHJpYnV0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNvbHV0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFNvbHV0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgU29sdXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsU29sdXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVuZ2FnZW1lbnQtYnktYWNjZXB0aW5nLWludml0YXRpb24tdGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0FyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXNrSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlbmdhZ2VtZW50LWJ5LWFjY2VwdGluZy1pbnZpdGF0aW9uLXRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbmdhZ2VtZW50LWZyb20tb3Bwb3J0dW5pdHktdGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza0FyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXNrSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlbmdhZ2VtZW50LWZyb20tb3Bwb3J0dW5pdHktdGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXNrSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVuZ2FnZW1lbnQtaW52aXRhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50SW52aXRhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVuZ2FnZW1lbnQtaW52aXRhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50SW52aXRhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVzb3VyY2Utc25hcHNob3Qtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJlc291cmNlU25hcHNob3RKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZXNvdXJjZS1zbmFwc2hvdC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUmVzb3VyY2VTbmFwc2hvdEpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG5jb25zdCBCZW5lZml0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6OmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvYmVuZWZpdFxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IEJlbmVmaXRBbGxvY2F0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9iZW5lZml0LWFsbG9jYXRpb25cXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBCZW5lZml0QXBwbGljYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2JlbmVmaXQtYXBwbGljYXRpb25cXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBDaGFubmVsSGFuZHNoYWtlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9jaGFubmVsLWhhbmRzaGFrZVxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IENvbm5lY3Rpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTo6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9jb25uZWN0aW9uXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgQ29ubmVjdGlvbkludml0YXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTo6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9jb25uZWN0aW9uLWludml0YXRpb25cXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBDb25uZWN0aW9uUHJlZmVyZW5jZXNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2Nvbm5lY3Rpb24tcHJlZmVyZW5jZXMkLztcbmNvbnN0IERhc2hib2FyZEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDo6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9SZXBvcnRpbmdEYXRhXFwvKD88dGFibGVJZD5bXjovP10rKVxcL0Rhc2hib2FyZFxcLyg/PGRhc2hib2FyZElkPlteOi8/XSspJC87XG5jb25zdCBFbmdhZ2VtZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6OmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvZW5nYWdlbWVudFxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9tYXJrZXRwbGFjZS1yZXZlbnVlLXNoYXJlXFwvKD88bWFya2V0cGxhY2VQcm9kdWN0SWQ+W146Lz9dKykkLztcbmNvbnN0IE9wcG9ydHVuaXR5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9vcHBvcnR1bml0eVxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6OmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvb3Bwb3J0dW5pdHktZnJvbS1lbmdhZ2VtZW50LXRhc2tcXC8oPzx0YXNrSWQ+W146Lz9dKykkLztcbmNvbnN0IFBhcnRuZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL3BhcnRuZXJcXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL3Byb2dyYW0tbWFuYWdlbWVudC1hY2NvdW50XFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTo6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9wcm9zcGVjdGluZy1mcm9tLWVuZ2FnZW1lbnQtdGFza1xcLyg/PHRhc2tJZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBSZWxhdGlvbnNoaXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL3Byb2dyYW0tbWFuYWdlbWVudC1hY2NvdW50XFwvKD88cHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50SWQ+W146Lz9dKylcXC9yZWxhdGlvbnNoaXBcXC8oPzxyZWxhdGlvbnNoaXBJZD5bXjovP10rKSQvO1xuY29uc3QgUmVzb3VyY2VTbmFwc2hvdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvZW5nYWdlbWVudFxcLyg/PGVuZ2FnZW1lbnRJZGVudGlmaWVyPlteOi8/XSspXFwvcmVzb3VyY2VcXC8oPzxyZXNvdXJjZVR5cGU+W146Lz9dKylcXC8oPzxyZXNvdXJjZUlkZW50aWZpZXI+W146Lz9dKylcXC90ZW1wbGF0ZVxcLyg/PHRlbXBsYXRlSWRlbnRpZmllcj5bXjovP10rKVxcL3Jlc291cmNlLXNuYXBzaG90XFwvKD88c25hcHNob3RSZXZpc2lvbj5bXjovP10rKSQvO1xuY29uc3QgUmV2ZW51ZUF0dHJpYnV0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9yZXZlbnVlLWF0dHJpYnV0aW9uXFwvKD88cmV2ZW51ZUF0dHJpYnV0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFNvbHV0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9zb2x1dGlvblxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6OmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvZW5nYWdlbWVudC1ieS1hY2NlcHRpbmctaW52aXRhdGlvbi10YXNrXFwvKD88dGFza0lkPlteOi8/XSspJC87XG5jb25zdCBFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2VuZ2FnZW1lbnQtZnJvbS1vcHBvcnR1bml0eS10YXNrXFwvKD88dGFza0lkPlteOi8/XSspJC87XG5jb25zdCBFbmdhZ2VtZW50SW52aXRhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2VuZ2FnZW1lbnQtaW52aXRhdGlvblxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IFJlc291cmNlU25hcHNob3RKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL3Jlc291cmNlLXNuYXBzaG90LWpvYlxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBwYXJ0bmVyY2VudHJhbCByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXJ0bmVyY2VudHJhbFJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQmVuZWZpdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBiZW5lZml0KHByb3BzOiBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vYmVuZWZpdC8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEJlbmVmaXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJlbmVmaXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQmVuZWZpdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBCZW5lZml0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJlbmVmaXRBcm4oYXJuOiBzdHJpbmcpOiBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJlbmVmaXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQmVuZWZpdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQmVuZWZpdEFsbG9jYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYmVuZWZpdEFsbG9jYXRpb24oXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsQmVuZWZpdEFsbG9jYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vYmVuZWZpdC1hbGxvY2F0aW9uLyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQmVuZWZpdEFsbG9jYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJlbmVmaXRBbGxvY2F0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJlbmVmaXRBbGxvY2F0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEJlbmVmaXRBbGxvY2F0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJlbmVmaXRBbGxvY2F0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBbGxvY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCZW5lZml0QWxsb2NhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBCZW5lZml0QWxsb2NhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQmVuZWZpdEFwcGxpY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJlbmVmaXRBcHBsaWNhdGlvbihcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxCZW5lZml0QXBwbGljYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vYmVuZWZpdC1hcHBsaWNhdGlvbi8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEJlbmVmaXRBcHBsaWNhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQmVuZWZpdEFwcGxpY2F0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJlbmVmaXRBcHBsaWNhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBCZW5lZml0QXBwbGljYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQmVuZWZpdEFwcGxpY2F0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBcHBsaWNhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQmVuZWZpdEFwcGxpY2F0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEJlbmVmaXRBcHBsaWNhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ2hhbm5lbEhhbmRzaGFrZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjaGFubmVsSGFuZHNoYWtlKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbENoYW5uZWxIYW5kc2hha2VBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vY2hhbm5lbC1oYW5kc2hha2UvJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDaGFubmVsSGFuZHNoYWtlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDaGFubmVsSGFuZHNoYWtlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENoYW5uZWxIYW5kc2hha2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ2hhbm5lbEhhbmRzaGFrZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDaGFubmVsSGFuZHNoYWtlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbENoYW5uZWxIYW5kc2hha2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENoYW5uZWxIYW5kc2hha2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ2hhbm5lbEhhbmRzaGFrZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ29ubmVjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25uZWN0aW9uKHByb3BzOiBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vY29ubmVjdGlvbi8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENvbm5lY3Rpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbm5lY3Rpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29ubmVjdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDb25uZWN0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbm5lY3Rpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29ubmVjdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDb25uZWN0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDb25uZWN0aW9uSW52aXRhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25uZWN0aW9uSW52aXRhdGlvbihcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uSW52aXRhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2Nvbm5lY3Rpb24taW52aXRhdGlvbi8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENvbm5lY3Rpb25JbnZpdGF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25uZWN0aW9uSW52aXRhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25uZWN0aW9uSW52aXRhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDb25uZWN0aW9uSW52aXRhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25uZWN0aW9uSW52aXRhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uSW52aXRhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29ubmVjdGlvbkludml0YXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29ubmVjdGlvbkludml0YXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENvbm5lY3Rpb25QcmVmZXJlbmNlcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25uZWN0aW9uUHJlZmVyZW5jZXMoXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2Nvbm5lY3Rpb24tcHJlZmVyZW5jZXNgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ29ubmVjdGlvblByZWZlcmVuY2VzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25uZWN0aW9uUHJlZmVyZW5jZXNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENvbm5lY3Rpb25QcmVmZXJlbmNlcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25uZWN0aW9uUHJlZmVyZW5jZXNBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25uZWN0aW9uUHJlZmVyZW5jZXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29ubmVjdGlvblByZWZlcmVuY2VzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBEYXNoYm9hcmQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGFzaGJvYXJkKHByb3BzOiBQYXJ0bmVyY2VudHJhbERhc2hib2FyZEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDo6JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vUmVwb3J0aW5nRGF0YS8ke3Byb3BzLnRhYmxlSWR9L0Rhc2hib2FyZC8ke3Byb3BzLmRhc2hib2FyZElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBEYXNoYm9hcmQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhc2hib2FyZEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXNoYm9hcmRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgRGFzaGJvYXJkIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhc2hib2FyZEFybihhcm46IHN0cmluZyk6IFBhcnRuZXJjZW50cmFsRGFzaGJvYXJkQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXNoYm9hcmRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgRGFzaGJvYXJkIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdHRhYmxlSWQ6IG1hdGNoLmdyb3VwcyEudGFibGVJZCxcblx0XHRcdGRhc2hib2FyZElkOiBtYXRjaC5ncm91cHMhLmRhc2hib2FyZElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEVuZ2FnZW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZW5nYWdlbWVudChwcm9wczogUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2VuZ2FnZW1lbnQvJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBFbmdhZ2VtZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFbmdhZ2VtZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVuZ2FnZW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgRW5nYWdlbWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFbmdhZ2VtZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVuZ2FnZW1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgRW5nYWdlbWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWFya2V0cGxhY2VSZXZlbnVlU2hhcmUoXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vbWFya2V0cGxhY2UtcmV2ZW51ZS1zaGFyZS8ke3Byb3BzLm1hcmtldHBsYWNlUHJvZHVjdElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBNYXJrZXRwbGFjZVJldmVudWVTaGFyZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdG1hcmtldHBsYWNlUHJvZHVjdElkOiBtYXRjaC5ncm91cHMhLm1hcmtldHBsYWNlUHJvZHVjdElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIE9wcG9ydHVuaXR5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9wcG9ydHVuaXR5KHByb3BzOiBQYXJ0bmVyY2VudHJhbE9wcG9ydHVuaXR5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9vcHBvcnR1bml0eS8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE9wcG9ydHVuaXR5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPcHBvcnR1bml0eUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBPcHBvcnR1bml0eUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBPcHBvcnR1bml0eSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPcHBvcnR1bml0eUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxPcHBvcnR1bml0eUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT3Bwb3J0dW5pdHlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgT3Bwb3J0dW5pdHkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vb3Bwb3J0dW5pdHktZnJvbS1lbmdhZ2VtZW50LXRhc2svJHtwcm9wcy50YXNrSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0dGFza0lkOiBtYXRjaC5ncm91cHMhLnRhc2tJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQYXJ0bmVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBhcnRuZXIocHJvcHM6IFBhcnRuZXJjZW50cmFsUGFydG5lckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vcGFydG5lci8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFBhcnRuZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBhcnRuZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUGFydG5lckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBQYXJ0bmVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBhcnRuZXJBcm4oYXJuOiBzdHJpbmcpOiBQYXJ0bmVyY2VudHJhbFBhcnRuZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBhcnRuZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUGFydG5lciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb2dyYW1NYW5hZ2VtZW50QWNjb3VudChcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vcHJvZ3JhbS1tYW5hZ2VtZW50LWFjY291bnQvJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vcHJvc3BlY3RpbmctZnJvbS1lbmdhZ2VtZW50LXRhc2svJHtwcm9wcy50YXNrSWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHR0YXNrSWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS50YXNrSWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZWxhdGlvbnNoaXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVsYXRpb25zaGlwKHByb3BzOiBQYXJ0bmVyY2VudHJhbFJlbGF0aW9uc2hpcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vcHJvZ3JhbS1tYW5hZ2VtZW50LWFjY291bnQvJHtwcm9wcy5wcm9ncmFtTWFuYWdlbWVudEFjY291bnRJZH0vcmVsYXRpb25zaGlwLyR7cHJvcHMucmVsYXRpb25zaGlwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlbGF0aW9uc2hpcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVsYXRpb25zaGlwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlbGF0aW9uc2hpcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZWxhdGlvbnNoaXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVsYXRpb25zaGlwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbFJlbGF0aW9uc2hpcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVsYXRpb25zaGlwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlbGF0aW9uc2hpcCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRwcm9ncmFtTWFuYWdlbWVudEFjY291bnRJZDogbWF0Y2guZ3JvdXBzIS5wcm9ncmFtTWFuYWdlbWVudEFjY291bnRJZCxcblx0XHRcdHJlbGF0aW9uc2hpcElkOiBtYXRjaC5ncm91cHMhLnJlbGF0aW9uc2hpcElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlc291cmNlU25hcHNob3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VTbmFwc2hvdChcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2VuZ2FnZW1lbnQvJHtwcm9wcy5lbmdhZ2VtZW50SWRlbnRpZmllcn0vcmVzb3VyY2UvJHtwcm9wcy5yZXNvdXJjZVR5cGV9LyR7cHJvcHMucmVzb3VyY2VJZGVudGlmaWVyfS90ZW1wbGF0ZS8ke3Byb3BzLnRlbXBsYXRlSWRlbnRpZmllcn0vcmVzb3VyY2Utc25hcHNob3QvJHtwcm9wcy5zbmFwc2hvdFJldmlzaW9ufWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXNvdXJjZVNuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXNvdXJjZVNuYXBzaG90QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlc291cmNlU25hcHNob3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVzb3VyY2VTbmFwc2hvdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXNvdXJjZVNuYXBzaG90QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbFJlc291cmNlU25hcHNob3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlc291cmNlU25hcHNob3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmVzb3VyY2VTbmFwc2hvdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRlbmdhZ2VtZW50SWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5lbmdhZ2VtZW50SWRlbnRpZmllcixcblx0XHRcdHJlc291cmNlVHlwZTogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZVR5cGUsXG5cdFx0XHRyZXNvdXJjZUlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZGVudGlmaWVyLFxuXHRcdFx0dGVtcGxhdGVJZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLnRlbXBsYXRlSWRlbnRpZmllcixcblx0XHRcdHNuYXBzaG90UmV2aXNpb246IG1hdGNoLmdyb3VwcyEuc25hcHNob3RSZXZpc2lvbixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZXZlbnVlQXR0cmlidXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmV2ZW51ZUF0dHJpYnV0aW9uKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbFJldmVudWVBdHRyaWJ1dGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9yZXZlbnVlLWF0dHJpYnV0aW9uLyR7cHJvcHMucmV2ZW51ZUF0dHJpYnV0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJldmVudWVBdHRyaWJ1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmV2ZW51ZUF0dHJpYnV0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJldmVudWVBdHRyaWJ1dGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZXZlbnVlQXR0cmlidXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmV2ZW51ZUF0dHJpYnV0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbFJldmVudWVBdHRyaWJ1dGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmV2ZW51ZUF0dHJpYnV0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJldmVudWVBdHRyaWJ1dGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRyZXZlbnVlQXR0cmlidXRpb25JZDogbWF0Y2guZ3JvdXBzIS5yZXZlbnVlQXR0cmlidXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBTb2x1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzb2x1dGlvbihwcm9wczogUGFydG5lcmNlbnRyYWxTb2x1dGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vc29sdXRpb24vJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTb2x1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU29sdXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU29sdXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU29sdXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU29sdXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBQYXJ0bmVyY2VudHJhbFNvbHV0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTb2x1dGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBTb2x1dGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZW5nYWdlbWVudC1ieS1hY2NlcHRpbmctaW52aXRhdGlvbi10YXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vZW5nYWdlbWVudC1ieS1hY2NlcHRpbmctaW52aXRhdGlvbi10YXNrLyR7cHJvcHMudGFza0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlbmdhZ2VtZW50LWJ5LWFjY2VwdGluZy1pbnZpdGF0aW9uLXRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVuZ2FnZW1lbnQtYnktYWNjZXB0aW5nLWludml0YXRpb24tdGFzayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBJbnZhbGlkIGVuZ2FnZW1lbnQtYnktYWNjZXB0aW5nLWludml0YXRpb24tdGFzayBBUk46ICR7YXJufWAsXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHR0YXNrSWQ6IG1hdGNoLmdyb3VwcyEudGFza0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVuZ2FnZW1lbnQtZnJvbS1vcHBvcnR1bml0eS10YXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vZW5nYWdlbWVudC1mcm9tLW9wcG9ydHVuaXR5LXRhc2svJHtwcm9wcy50YXNrSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVuZ2FnZW1lbnQtZnJvbS1vcHBvcnR1bml0eS10YXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlbmdhZ2VtZW50LWZyb20tb3Bwb3J0dW5pdHktdGFzayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZW5nYWdlbWVudC1mcm9tLW9wcG9ydHVuaXR5LXRhc2sgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0dGFza0lkOiBtYXRjaC5ncm91cHMhLnRhc2tJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlbmdhZ2VtZW50LWludml0YXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZW5nYWdlbWVudEludml0YXRpb24oXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEludml0YXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9lbmdhZ2VtZW50LWludml0YXRpb24vJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlbmdhZ2VtZW50LWludml0YXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVuZ2FnZW1lbnRJbnZpdGF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVuZ2FnZW1lbnRJbnZpdGF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVuZ2FnZW1lbnQtaW52aXRhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFbmdhZ2VtZW50SW52aXRhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50SW52aXRhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRW5nYWdlbWVudEludml0YXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZW5nYWdlbWVudC1pbnZpdGF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZXNvdXJjZS1zbmFwc2hvdC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VTbmFwc2hvdEpvYihcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90Sm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L3Jlc291cmNlLXNuYXBzaG90LWpvYi8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlc291cmNlLXNuYXBzaG90LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVzb3VyY2VTbmFwc2hvdEpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXNvdXJjZVNuYXBzaG90Sm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlc291cmNlLXNuYXBzaG90LWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXNvdXJjZVNuYXBzaG90Sm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbFJlc291cmNlU25hcHNob3RKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlc291cmNlU25hcHNob3RKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVzb3VyY2Utc25hcHNob3Qtam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBwYXJ0bmVyY2VudHJhbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFBhcnRuZXJjZW50cmFsT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFjY2VwdENoYW5uZWxIYW5kc2hha2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRDaGFubmVsSGFuZHNoYWtlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkFjY2VwdENoYW5uZWxIYW5kc2hha2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWNjZXB0Q29ubmVjdGlvbkludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRDb25uZWN0aW9uSW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBY2NlcHRDb25uZWN0aW9uSW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFtZW5kQmVuZWZpdEFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQW1lbmRCZW5lZml0QXBwbGljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6QW1lbmRCZW5lZml0QXBwbGljYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzaWduT3Bwb3J0dW5pdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NpZ25PcHBvcnR1bml0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBc3NpZ25PcHBvcnR1bml0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkFzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlT3Bwb3J0dW5pdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVPcHBvcnR1bml0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBc3NvY2lhdGVPcHBvcnR1bml0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxCZW5lZml0QXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxCZW5lZml0QXBwbGljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbENoYW5uZWxIYW5kc2hha2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDaGFubmVsSGFuZHNoYWtlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhbmNlbENoYW5uZWxIYW5kc2hha2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbENvbm5lY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsQ29ubmVjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbENvbm5lY3Rpb25JbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhbmNlbENvbm5lY3Rpb25JbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbFByb2ZpbGVVcGRhdGVUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQmVuZWZpdEFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmVuZWZpdEFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvblwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2hhbm5lbEhhbmRzaGFrZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNoYW5uZWxIYW5kc2hha2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlQ2hhbm5lbEhhbmRzaGFrZVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZWxhdGlvbnNoaXBcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdGlvbkludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlQ29ubmVjdGlvbkludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRW5nYWdlbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZ2FnZW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlRW5nYWdlbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFbmdhZ2VtZW50Q29udGV4dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZ2FnZW1lbnRDb250ZXh0OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRDb250ZXh0XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVuZ2FnZW1lbnRJbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5nYWdlbWVudEludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlRW5nYWdlbWVudEludml0YXRpb25cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVPcHBvcnR1bml0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wcG9ydHVuaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZU9wcG9ydHVuaXR5XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQYXJ0bmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lcjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVQYXJ0bmVyXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWxhdGlvbnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWxhdGlvbnNoaXA6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVsYXRpb25zaGlwXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRQcm9ncmFtTWFuYWdlbWVudEFjY291bnRcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlc291cmNlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEF3c09wcG9ydHVuaXR5U3VtbWFyeVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0T3Bwb3J0dW5pdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlU25hcHNob3RKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0T3Bwb3J0dW5pdHlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJldmVudWVBdHRyaWJ1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJldmVudWVBdHRyaWJ1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXZlbnVlQXR0cmlidXRpb25cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVsYXRpb25zaGlwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVsYXRpb25zaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkRlbGV0ZVJlbGF0aW9uc2hpcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VTbmFwc2hvdEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6RGlzYXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEaXNhc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVPcHBvcnR1bml0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU9wcG9ydHVuaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkRpc2Fzc29jaWF0ZU9wcG9ydHVuaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFsbGlhbmNlTGVhZENvbnRhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFsbGlhbmNlTGVhZENvbnRhY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0QWxsaWFuY2VMZWFkQ29udGFjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBd3NPcHBvcnR1bml0eVN1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF3c09wcG9ydHVuaXR5U3VtbWFyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRBd3NPcHBvcnR1bml0eVN1bW1hcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QmVuZWZpdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QmVuZWZpdDogc3RyaW5nW10gPSBbXCJwYXJ0bmVyY2VudHJhbDpHZXRCZW5lZml0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCZW5lZml0QWxsb2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QmVuZWZpdEFsbG9jYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0QmVuZWZpdEFsbG9jYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QmVuZWZpdEFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCZW5lZml0QXBwbGljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0QmVuZWZpdEFwcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbm5lY3Rpb246IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6R2V0Q29ubmVjdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29ubmVjdGlvbkludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbm5lY3Rpb25JbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb25JbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbm5lY3Rpb25QcmVmZXJlbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29ubmVjdGlvblByZWZlcmVuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb25QcmVmZXJlbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFbmdhZ2VtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFbmdhZ2VtZW50OiBzdHJpbmdbXSA9IFtcInBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEVuZ2FnZW1lbnRJbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFbmdhZ2VtZW50SW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50SW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9wcG9ydHVuaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPcHBvcnR1bml0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRPcHBvcnR1bml0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQYXJ0bmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQYXJ0bmVyOiBzdHJpbmdbXSA9IFtcInBhcnRuZXJjZW50cmFsOkdldFBhcnRuZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb2ZpbGVVcGRhdGVUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9maWxlVXBkYXRlVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRQcm9maWxlVXBkYXRlVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlVmlzaWJpbGl0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvZmlsZVZpc2liaWxpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvZmlsZVZpc2liaWxpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25EZXRhaWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uRGV0YWlsczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uRGV0YWlsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlbGF0aW9uc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVsYXRpb25zaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJlbGF0aW9uc2hpcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXNvdXJjZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJlc291cmNlU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VTbmFwc2hvdEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VTbmFwc2hvdEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJldmVudWVBdHRyaWJ1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmV2ZW51ZUF0dHJpYnV0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJldmVudWVBdHRyaWJ1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNlbGxpbmdTeXN0ZW1TZXR0aW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VsbGluZ1N5c3RlbVNldHRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFNlbGxpbmdTeXN0ZW1TZXR0aW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRWZXJpZmljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFZlcmlmaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRWZXJpZmljYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJlbmVmaXRBbGxvY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCZW5lZml0QWxsb2NhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEJlbmVmaXRBbGxvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QmVuZWZpdEFwcGxpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCZW5lZml0QXBwbGljYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0QXBwbGljYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCZW5lZml0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCZW5lZml0czogc3RyaW5nW10gPSBbXCJwYXJ0bmVyY2VudHJhbDpMaXN0QmVuZWZpdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDaGFubmVsSGFuZHNoYWtlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDaGFubmVsSGFuZHNoYWtlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0Q2hhbm5lbEhhbmRzaGFrZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbm5lY3Rpb25JbnZpdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0aW9uSW52aXRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdENvbm5lY3Rpb25JbnZpdGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29ubmVjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdENvbm5lY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5nYWdlbWVudEludml0YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudEludml0YXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmdhZ2VtZW50TWVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50TWVtYmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudE1lbWJlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVuZ2FnZW1lbnRSZXNvdXJjZUFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRSZXNvdXJjZUFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5nYWdlbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0T3Bwb3J0dW5pdGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHBvcnR1bml0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RPcHBvcnR1bml0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBhcnRuZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJzOiBzdHJpbmdbXSA9IFtcInBhcnRuZXJjZW50cmFsOkxpc3RQYXJ0bmVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWxhdGlvbnNoaXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlbGF0aW9uc2hpcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJlbGF0aW9uc2hpcHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc291cmNlU25hcHNob3RKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlU25hcHNob3RKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RSZXNvdXJjZVNuYXBzaG90Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VTbmFwc2hvdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VTbmFwc2hvdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJlc291cmNlU25hcHNob3RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJldmVudWVBdHRyaWJ1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U29sdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNvbHV0aW9uczogc3RyaW5nW10gPSBbXCJwYXJ0bmVyY2VudHJhbDpMaXN0U29sdXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEFsbGlhbmNlTGVhZENvbnRhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBbGxpYW5jZUxlYWRDb250YWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlB1dEFsbGlhbmNlTGVhZENvbnRhY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UHJvZmlsZVZpc2liaWxpdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlVmlzaWJpbGl0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQdXRQcm9maWxlVmlzaWJpbGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTZWxsaW5nU3lzdGVtU2V0dGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQdXRTZWxsaW5nU3lzdGVtU2V0dGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVjYWxsQmVuZWZpdEFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVjYWxsQmVuZWZpdEFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWplY3RDaGFubmVsSGFuZHNoYWtlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0Q2hhbm5lbEhhbmRzaGFrZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpSZWplY3RDaGFubmVsSGFuZHNoYWtlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0Q29ubmVjdGlvbkludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVqZWN0Q29ubmVjdGlvbkludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVqZWN0RW5nYWdlbWVudEludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RFbmdhZ2VtZW50SW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpSZWplY3RFbmdhZ2VtZW50SW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudEludml0YXRpb25cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE9wcG9ydHVuaXR5XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFJlc291cmNlU25hcHNob3RKb2JcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlN1Ym1pdE9wcG9ydHVuaXR5XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVFbmdhZ2VtZW50XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdWJtaXRPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlT3Bwb3J0dW5pdHlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RKb2JcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE9wcG9ydHVuaXR5XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFJlc291cmNlU25hcHNob3RKb2JcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UHJvZmlsZVVwZGF0ZVRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFByb2ZpbGVVcGRhdGVUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UHJvZmlsZVVwZGF0ZVRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0VmVyaWZpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRWZXJpZmljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRWZXJpZmljYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFJlc291cmNlU25hcHNob3RKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUmVzb3VyY2VTbmFwc2hvdEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdG9wUmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRCZW5lZml0QXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRCZW5lZml0QXBwbGljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U3VibWl0QmVuZWZpdEFwcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN1Ym1pdE9wcG9ydHVuaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0T3Bwb3J0dW5pdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U3VibWl0T3Bwb3J0dW5pdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQmVuZWZpdEFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQmVuZWZpdEFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25uZWN0aW9uUHJlZmVyZW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0aW9uUHJlZmVyZW5jZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRW5nYWdlbWVudENvbnRleHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlRW5nYWdlbWVudENvbnRleHRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVPcHBvcnR1bml0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9wcG9ydHVuaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZU9wcG9ydHVuaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVsYXRpb25zaGlwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVsYXRpb25zaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZVJlbGF0aW9uc2hpcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXZlbnVlQXR0cmlidXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXZlbnVlQXR0cmlidXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlUmV2ZW51ZUF0dHJpYnV0aW9uXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBwYXJ0bmVyY2VudHJhbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFBhcnRuZXJjZW50cmFsQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBY2NlcHRDaGFubmVsSGFuZHNoYWtlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdENoYW5uZWxIYW5kc2hha2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBY2NlcHRDb25uZWN0aW9uSW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRDb25uZWN0aW9uSW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQWNjZXB0RW5nYWdlbWVudEludml0YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0RW5nYWdlbWVudEludml0YXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFtZW5kQmVuZWZpdEFwcGxpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFtZW5kQmVuZWZpdEFwcGxpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQXNzaWduT3Bwb3J0dW5pdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzaWduT3Bwb3J0dW5pdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVPcHBvcnR1bml0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVPcHBvcnR1bml0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVsYXRlZEVudGl0eVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENhbmNlbEJlbmVmaXRBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxCZW5lZml0QXBwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYW5jZWxDaGFubmVsSGFuZHNoYWtlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbENoYW5uZWxIYW5kc2hha2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYW5jZWxDb25uZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbENvbm5lY3Rpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENhbmNlbENvbm5lY3Rpb25JbnZpdGF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbENvbm5lY3Rpb25JbnZpdGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYW5jZWxQcm9maWxlVXBkYXRlVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxQcm9maWxlVXBkYXRlVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQmVuZWZpdEFwcGxpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNoYW5uZWxIYW5kc2hha2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2hhbm5lbEhhbmRzaGFrZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2hhbm5lbEhhbmRzaGFrZVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFbmdhZ2VtZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZ2FnZW1lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVuZ2FnZW1lbnRDb250ZXh0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZ2FnZW1lbnRDb250ZXh0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU9wcG9ydHVuaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wcG9ydHVuaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQYXJ0bmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlbGF0aW9uc2hpcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWxhdGlvbnNoaXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlc291cmNlU25hcHNob3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXZlbnVlQXR0cmlidXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmV2ZW51ZUF0dHJpYnV0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVSZWxhdGlvbnNoaXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVsYXRpb25zaGlwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlU25hcHNob3RKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGlzYXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1xuXHRcdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRcdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEaXNhc3NvY2lhdGVPcHBvcnR1bml0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVPcHBvcnR1bml0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVsYXRlZEVudGl0eVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEFsbGlhbmNlTGVhZENvbnRhY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWxsaWFuY2VMZWFkQ29udGFjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF3c09wcG9ydHVuaXR5U3VtbWFyeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0QmVuZWZpdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCZW5lZml0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0QmVuZWZpdEFsbG9jYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmVuZWZpdEFsbG9jYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEJlbmVmaXRBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCZW5lZml0QXBwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRDb25uZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbm5lY3Rpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldENvbm5lY3Rpb25JbnZpdGF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbm5lY3Rpb25JbnZpdGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRDb25uZWN0aW9uUHJlZmVyZW5jZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29ubmVjdGlvblByZWZlcmVuY2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRFbmdhZ2VtZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEVuZ2FnZW1lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEVuZ2FnZW1lbnRJbnZpdGF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEVuZ2FnZW1lbnRJbnZpdGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0T3Bwb3J0dW5pdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3Bwb3J0dW5pdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFBhcnRuZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFydG5lckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UGFydG5lckRhc2hib2FyZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJ0bmVyRGFzaGJvYXJkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRQcm9maWxlVXBkYXRlVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9maWxlVXBkYXRlVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UHJvZmlsZVZpc2liaWxpdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZVZpc2liaWxpdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9ncmFtTWFuYWdlbWVudEFjY291bnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uRGV0YWlscyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uRGV0YWlsc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRSZWxhdGlvbnNoaXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVsYXRpb25zaGlwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRSZXNvdXJjZVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFJlc291cmNlU25hcHNob3RKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VTbmFwc2hvdEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UmV2ZW51ZUF0dHJpYnV0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJldmVudWVBdHRyaWJ1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VsbGluZ1N5c3RlbVNldHRpbmdzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRWZXJpZmljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VmVyaWZpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpWZXJpZmljYXRpb25UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0QmVuZWZpdEFsbG9jYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCZW5lZml0QWxsb2NhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RCZW5lZml0QXBwbGljYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCZW5lZml0QXBwbGljYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEJlbmVmaXRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCZW5lZml0c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RDaGFubmVsSGFuZHNoYWtlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2hhbm5lbEhhbmRzaGFrZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0Q29ubmVjdGlvbkludml0YXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0aW9uSW52aXRhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RDb25uZWN0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RW5nYWdlbWVudEludml0YXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50SW52aXRhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RFbmdhZ2VtZW50TWVtYmVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudE1lbWJlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRSZXNvdXJjZUFzc29jaWF0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEVuZ2FnZW1lbnRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdE9wcG9ydHVuaXRpZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wcG9ydHVuaXRpZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFBhcnRuZXJzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXJ0bmVyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFJlbGF0aW9uc2hpcHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlbGF0aW9uc2hpcHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RSZXNvdXJjZVNuYXBzaG90Sm9icyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RSZXNvdXJjZVNuYXBzaG90cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VTbmFwc2hvdHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RSZXZlbnVlQXR0cmlidXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXZlbnVlQXR0cmlidXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0U29sdXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTb2x1dGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRBbGxpYW5jZUxlYWRDb250YWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFsbGlhbmNlTGVhZENvbnRhY3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dFByb2ZpbGVWaXNpYmlsaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFByb2ZpbGVWaXNpYmlsaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWNhbGxCZW5lZml0QXBwbGljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVjYWxsQmVuZWZpdEFwcGxpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVqZWN0Q2hhbm5lbEhhbmRzaGFrZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RDaGFubmVsSGFuZHNoYWtlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVqZWN0Q29ubmVjdGlvbkludml0YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0Q29ubmVjdGlvbkludml0YXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXG5cdFx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0UHJvZmlsZVVwZGF0ZVRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm9maWxlVXBkYXRlVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlc291cmNlU25hcHNob3RKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFZlcmlmaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFZlcmlmaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VmVyaWZpY2F0aW9uVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RvcFJlc291cmNlU25hcHNob3RKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlc291cmNlU25hcHNob3RKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN1Ym1pdEJlbmVmaXRBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRCZW5lZml0QXBwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdWJtaXRPcHBvcnR1bml0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRPcHBvcnR1bml0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQmVuZWZpdEFwcGxpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUNvbm5lY3Rpb25QcmVmZXJlbmNlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0aW9uUHJlZmVyZW5jZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVPcHBvcnR1bml0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPcHBvcnR1bml0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlUmVsYXRpb25zaGlwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlbGF0aW9uc2hpcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlUmV2ZW51ZUF0dHJpYnV0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXNlU2Vzc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVc2VTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGFydG5lcmNlbnRyYWw6Q2F0YWxvZyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0FUQUxPRyA9IFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGFydG5lcmNlbnRyYWw6Q2hhbm5lbEhhbmRzaGFrZVR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENIQU5ORUxfSEFORFNIQUtFX1RZUEUgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2hhbm5lbEhhbmRzaGFrZVR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGVUxGSUxMTUVOVF9UWVBFUyA9IFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGFydG5lcmNlbnRyYWw6UHJvZ3JhbXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUk9HUkFNUyA9IFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBhcnRuZXJjZW50cmFsOlJlbGF0ZWRFbnRpdHlUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRUxBVEVEX0VOVElUWV9UWVBFID0gXCJwYXJ0bmVyY2VudHJhbDpSZWxhdGVkRW50aXR5VHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGFydG5lcmNlbnRyYWw6VmVyaWZpY2F0aW9uVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVkVSSUZJQ0FUSU9OX1RZUEUgPSBcInBhcnRuZXJjZW50cmFsOlZlcmlmaWNhdGlvblR5cGVcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGFydG5lcmNlbnRyYWw6Q2F0YWxvZ2AuXG5cdCAqL1xuXHRzdGF0aWMgY2F0YWxvZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBjaGFubmVsSGFuZHNoYWtlVHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwicGFydG5lcmNlbnRyYWw6Q2hhbm5lbEhhbmRzaGFrZVR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNgLlxuXHQgKi9cblx0c3RhdGljIGZ1bGZpbGxtZW50VHlwZXMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7XG5cdFx0XHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNgLlxuXHQgKi9cblx0c3RhdGljIHByb2dyYW1zKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiOiB2YWx1ZXMgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBhcnRuZXJjZW50cmFsOlJlbGF0ZWRFbnRpdHlUeXBlYC5cblx0ICovXG5cdHN0YXRpYyByZWxhdGVkRW50aXR5VHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwicGFydG5lcmNlbnRyYWw6UmVsYXRlZEVudGl0eVR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBhcnRuZXJjZW50cmFsOlZlcmlmaWNhdGlvblR5cGVgLlxuXHQgKi9cblx0c3RhdGljIHZlcmlmaWNhdGlvblR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInBhcnRuZXJjZW50cmFsOlZlcmlmaWNhdGlvblR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=