@cdk_utils/iam 1.12.0 → 1.14.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 (464) hide show
  1. package/.jsii +5423 -4792
  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.d.ts +2 -0
  64. package/lib/generated/services/bedrock-agentcore.js +7 -5
  65. package/lib/generated/services/bedrock-mantle.js +3 -3
  66. package/lib/generated/services/bedrock-websearch.js +2 -2
  67. package/lib/generated/services/bedrock.js +4 -4
  68. package/lib/generated/services/billing.js +4 -4
  69. package/lib/generated/services/billingconductor.js +4 -4
  70. package/lib/generated/services/braket.js +4 -4
  71. package/lib/generated/services/budgets.js +4 -4
  72. package/lib/generated/services/bugbust.js +3 -3
  73. package/lib/generated/services/cases.js +4 -4
  74. package/lib/generated/services/cassandra.js +4 -4
  75. package/lib/generated/services/ce.js +4 -4
  76. package/lib/generated/services/chatbot.js +4 -4
  77. package/lib/generated/services/chime.js +4 -4
  78. package/lib/generated/services/cleanrooms-ml.js +4 -4
  79. package/lib/generated/services/cleanrooms.js +4 -4
  80. package/lib/generated/services/cloud9.js +4 -4
  81. package/lib/generated/services/clouddirectory.js +3 -3
  82. package/lib/generated/services/cloudformation.js +4 -4
  83. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  84. package/lib/generated/services/cloudfront.js +4 -4
  85. package/lib/generated/services/cloudhsm.js +4 -4
  86. package/lib/generated/services/cloudsearch.js +3 -3
  87. package/lib/generated/services/cloudshell.js +3 -3
  88. package/lib/generated/services/cloudtrail-data.js +4 -4
  89. package/lib/generated/services/cloudtrail.js +4 -4
  90. package/lib/generated/services/cloudwatch.js +4 -4
  91. package/lib/generated/services/codeartifact.js +4 -4
  92. package/lib/generated/services/codebuild.js +4 -4
  93. package/lib/generated/services/codecatalyst.js +4 -4
  94. package/lib/generated/services/codecommit.js +4 -4
  95. package/lib/generated/services/codeconnections.js +9 -6
  96. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  97. package/lib/generated/services/codedeploy.js +4 -4
  98. package/lib/generated/services/codeguru-profiler.js +4 -4
  99. package/lib/generated/services/codeguru-reviewer.js +4 -4
  100. package/lib/generated/services/codeguru-security.js +4 -4
  101. package/lib/generated/services/codeguru.js +1 -1
  102. package/lib/generated/services/codepipeline.js +4 -4
  103. package/lib/generated/services/codestar-connections.js +4 -4
  104. package/lib/generated/services/codestar-notifications.js +4 -4
  105. package/lib/generated/services/codestar.js +3 -3
  106. package/lib/generated/services/codewhisperer.js +3 -3
  107. package/lib/generated/services/cognito-identity.js +4 -4
  108. package/lib/generated/services/cognito-idp.d.ts +6 -0
  109. package/lib/generated/services/cognito-idp.js +11 -5
  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.js +4 -4
  117. package/lib/generated/services/consoleapp.js +2 -2
  118. package/lib/generated/services/consolidatedbilling.js +1 -1
  119. package/lib/generated/services/controlcatalog.js +3 -3
  120. package/lib/generated/services/controltower.js +4 -4
  121. package/lib/generated/services/cost-optimization-hub.js +2 -2
  122. package/lib/generated/services/cur.js +4 -4
  123. package/lib/generated/services/customer-verification.js +1 -1
  124. package/lib/generated/services/databrew.js +4 -4
  125. package/lib/generated/services/dataexchange.js +4 -4
  126. package/lib/generated/services/datapipeline.js +4 -4
  127. package/lib/generated/services/datasync.js +4 -4
  128. package/lib/generated/services/datazone.js +4 -4
  129. package/lib/generated/services/dax.js +4 -4
  130. package/lib/generated/services/dbqms.js +1 -1
  131. package/lib/generated/services/deadline.js +4 -4
  132. package/lib/generated/services/detective.js +4 -4
  133. package/lib/generated/services/devicefarm.js +4 -4
  134. package/lib/generated/services/devops-guru.js +4 -4
  135. package/lib/generated/services/directconnect.js +4 -4
  136. package/lib/generated/services/discovery.js +3 -3
  137. package/lib/generated/services/dlm.js +4 -4
  138. package/lib/generated/services/dms.js +4 -4
  139. package/lib/generated/services/docdb-elastic.js +4 -4
  140. package/lib/generated/services/drs.js +4 -4
  141. package/lib/generated/services/ds-data.js +4 -4
  142. package/lib/generated/services/ds.js +4 -4
  143. package/lib/generated/services/dsql.js +4 -4
  144. package/lib/generated/services/dynamodb.js +4 -4
  145. package/lib/generated/services/ebs.js +4 -4
  146. package/lib/generated/services/ec2-instance-connect.js +4 -4
  147. package/lib/generated/services/ec2.d.ts +2 -0
  148. package/lib/generated/services/ec2.js +7 -5
  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 +4 -4
  197. package/lib/generated/services/grafana.js +4 -4
  198. package/lib/generated/services/greengrass.js +4 -4
  199. package/lib/generated/services/groundstation.js +4 -4
  200. package/lib/generated/services/groundtruthlabeling.js +1 -1
  201. package/lib/generated/services/guardduty.js +4 -4
  202. package/lib/generated/services/health-agent.js +4 -4
  203. package/lib/generated/services/health.js +4 -4
  204. package/lib/generated/services/healthlake.d.ts +6 -0
  205. package/lib/generated/services/healthlake.js +18 -5
  206. package/lib/generated/services/honeycode.js +2 -2
  207. package/lib/generated/services/iam.js +4 -4
  208. package/lib/generated/services/identity-sync.js +2 -2
  209. package/lib/generated/services/identitystore-auth.js +1 -1
  210. package/lib/generated/services/identitystore.js +4 -4
  211. package/lib/generated/services/imagebuilder.js +4 -4
  212. package/lib/generated/services/importexport.js +2 -2
  213. package/lib/generated/services/inspector-scan.js +2 -2
  214. package/lib/generated/services/inspector.js +2 -2
  215. package/lib/generated/services/inspector2-telemetry.js +1 -1
  216. package/lib/generated/services/inspector2.js +4 -4
  217. package/lib/generated/services/interconnect.js +4 -4
  218. package/lib/generated/services/internetmonitor.js +4 -4
  219. package/lib/generated/services/invoicing.js +4 -4
  220. package/lib/generated/services/iot-device-tester.js +1 -1
  221. package/lib/generated/services/iot.js +4 -4
  222. package/lib/generated/services/iotanalytics.js +3 -3
  223. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  224. package/lib/generated/services/iotevents.js +3 -3
  225. package/lib/generated/services/iotfleethub.js +3 -3
  226. package/lib/generated/services/iotfleetwise.js +4 -4
  227. package/lib/generated/services/iotjobsdata.js +4 -4
  228. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  229. package/lib/generated/services/iotsitewise.js +4 -4
  230. package/lib/generated/services/iottwinmaker.js +4 -4
  231. package/lib/generated/services/iotwireless.js +4 -4
  232. package/lib/generated/services/iq-permission.js +2 -2
  233. package/lib/generated/services/iq.js +2 -2
  234. package/lib/generated/services/ivs.js +4 -4
  235. package/lib/generated/services/ivschat.js +4 -4
  236. package/lib/generated/services/kafka-cluster.js +3 -3
  237. package/lib/generated/services/kafka.js +4 -4
  238. package/lib/generated/services/kafkaconnect.js +4 -4
  239. package/lib/generated/services/kendra-ranking.js +4 -4
  240. package/lib/generated/services/kendra.js +4 -4
  241. package/lib/generated/services/kinesis.js +4 -4
  242. package/lib/generated/services/kinesisanalytics.js +4 -4
  243. package/lib/generated/services/kinesisvideo.js +4 -4
  244. package/lib/generated/services/kms.js +4 -4
  245. package/lib/generated/services/lakeformation.js +3 -3
  246. package/lib/generated/services/lambda.js +4 -4
  247. package/lib/generated/services/launchwizard.js +4 -4
  248. package/lib/generated/services/lex.js +4 -4
  249. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  250. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  251. package/lib/generated/services/license-manager.js +4 -4
  252. package/lib/generated/services/lightsail.js +4 -4
  253. package/lib/generated/services/logs.js +4 -4
  254. package/lib/generated/services/lookoutequipment.js +4 -4
  255. package/lib/generated/services/lookoutmetrics.js +3 -3
  256. package/lib/generated/services/lookoutvision.js +3 -3
  257. package/lib/generated/services/m2.js +4 -4
  258. package/lib/generated/services/machinelearning.js +3 -3
  259. package/lib/generated/services/macie2.js +4 -4
  260. package/lib/generated/services/managedblockchain-query.js +2 -2
  261. package/lib/generated/services/managedblockchain.js +4 -4
  262. package/lib/generated/services/mapcredits.js +2 -2
  263. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  264. package/lib/generated/services/mechanicalturk.js +2 -2
  265. package/lib/generated/services/mediaconnect.js +4 -4
  266. package/lib/generated/services/mediaconvert.js +4 -4
  267. package/lib/generated/services/mediaimport.js +1 -1
  268. package/lib/generated/services/medialive.js +4 -4
  269. package/lib/generated/services/mediapackage-vod.js +4 -4
  270. package/lib/generated/services/mediapackage.js +4 -4
  271. package/lib/generated/services/mediapackagev2.js +4 -4
  272. package/lib/generated/services/mediastore.js +4 -4
  273. package/lib/generated/services/mediatailor.js +4 -4
  274. package/lib/generated/services/medical-imaging.js +4 -4
  275. package/lib/generated/services/memorydb.js +4 -4
  276. package/lib/generated/services/mgh.js +4 -4
  277. package/lib/generated/services/mgn.js +4 -4
  278. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  279. package/lib/generated/services/migrationhub-strategy.js +2 -2
  280. package/lib/generated/services/mobileanalytics.js +1 -1
  281. package/lib/generated/services/mobiletargeting.js +4 -4
  282. package/lib/generated/services/monitron.js +3 -3
  283. package/lib/generated/services/mpa.js +4 -4
  284. package/lib/generated/services/mq.js +4 -4
  285. package/lib/generated/services/neptune-db.js +4 -4
  286. package/lib/generated/services/neptune-graph.js +4 -4
  287. package/lib/generated/services/network-firewall.js +4 -4
  288. package/lib/generated/services/network-security-director.js +1 -1
  289. package/lib/generated/services/networkflowmonitor.js +4 -4
  290. package/lib/generated/services/networkmanager-chat.js +1 -1
  291. package/lib/generated/services/networkmanager.js +4 -4
  292. package/lib/generated/services/networkmonitor.js +4 -4
  293. package/lib/generated/services/nimble.js +3 -3
  294. package/lib/generated/services/notifications-contacts.js +4 -4
  295. package/lib/generated/services/notifications.js +4 -4
  296. package/lib/generated/services/nova-act.js +3 -3
  297. package/lib/generated/services/oam.js +4 -4
  298. package/lib/generated/services/observabilityadmin.js +4 -4
  299. package/lib/generated/services/odb.js +4 -4
  300. package/lib/generated/services/omics.js +4 -4
  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.d.ts +14 -0
  324. package/lib/generated/services/profile.js +26 -5
  325. package/lib/generated/services/proton.js +4 -4
  326. package/lib/generated/services/purchase-orders.js +3 -3
  327. package/lib/generated/services/q.js +3 -3
  328. package/lib/generated/services/qapps.js +4 -4
  329. package/lib/generated/services/qbusiness.js +4 -4
  330. package/lib/generated/services/qdeveloper.js +3 -3
  331. package/lib/generated/services/qldb.js +3 -3
  332. package/lib/generated/services/quicksight.js +7 -5
  333. package/lib/generated/services/ram.js +4 -4
  334. package/lib/generated/services/rbin.js +4 -4
  335. package/lib/generated/services/rds-data.js +4 -4
  336. package/lib/generated/services/rds-db.js +2 -2
  337. package/lib/generated/services/rds.js +4 -4
  338. package/lib/generated/services/redshift-data.js +4 -4
  339. package/lib/generated/services/redshift-serverless.js +4 -4
  340. package/lib/generated/services/redshift.js +4 -4
  341. package/lib/generated/services/refactor-spaces.js +4 -4
  342. package/lib/generated/services/rekognition.js +4 -4
  343. package/lib/generated/services/repostspace.js +4 -4
  344. package/lib/generated/services/researchstudio.js +1 -1
  345. package/lib/generated/services/resiliencehub.js +4 -4
  346. package/lib/generated/services/resource-explorer-2.js +4 -4
  347. package/lib/generated/services/resource-explorer.js +1 -1
  348. package/lib/generated/services/resource-groups.js +4 -4
  349. package/lib/generated/services/rhelkb.js +1 -1
  350. package/lib/generated/services/robomaker.js +3 -3
  351. package/lib/generated/services/rolesanywhere.js +4 -4
  352. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  353. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  354. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  355. package/lib/generated/services/route53.js +4 -4
  356. package/lib/generated/services/route53domains.js +2 -2
  357. package/lib/generated/services/route53globalresolver.js +4 -4
  358. package/lib/generated/services/route53profiles.js +4 -4
  359. package/lib/generated/services/route53resolver.js +4 -4
  360. package/lib/generated/services/rtbfabric.js +4 -4
  361. package/lib/generated/services/rum.js +4 -4
  362. package/lib/generated/services/s3-object-lambda.js +3 -3
  363. package/lib/generated/services/s3-outposts.js +4 -4
  364. package/lib/generated/services/s3.js +4 -4
  365. package/lib/generated/services/s3express.js +3 -3
  366. package/lib/generated/services/s3files.js +4 -4
  367. package/lib/generated/services/s3tables.js +4 -4
  368. package/lib/generated/services/s3vectors.js +4 -4
  369. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  370. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  371. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  372. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  373. package/lib/generated/services/sagemaker.d.ts +28 -0
  374. package/lib/generated/services/sagemaker.js +61 -9
  375. package/lib/generated/services/savingsplans.js +4 -4
  376. package/lib/generated/services/scheduler.js +4 -4
  377. package/lib/generated/services/schemas.js +4 -4
  378. package/lib/generated/services/scn.js +4 -4
  379. package/lib/generated/services/sdb.js +3 -3
  380. package/lib/generated/services/secretsmanager.js +4 -4
  381. package/lib/generated/services/security-ir.js +4 -4
  382. package/lib/generated/services/securityagent.js +4 -4
  383. package/lib/generated/services/securityhub.js +4 -4
  384. package/lib/generated/services/securitylake.js +4 -4
  385. package/lib/generated/services/serverlessrepo.js +4 -4
  386. package/lib/generated/services/servicecatalog.js +4 -4
  387. package/lib/generated/services/servicediscovery.js +4 -4
  388. package/lib/generated/services/serviceextract.js +1 -1
  389. package/lib/generated/services/servicequotas.js +4 -4
  390. package/lib/generated/services/ses.js +4 -4
  391. package/lib/generated/services/shield.js +4 -4
  392. package/lib/generated/services/signer.js +4 -4
  393. package/lib/generated/services/signin.js +4 -4
  394. package/lib/generated/services/simspaceweaver.js +3 -3
  395. package/lib/generated/services/sms-voice.js +4 -4
  396. package/lib/generated/services/sms.js +1 -1
  397. package/lib/generated/services/snow-device-management.js +4 -4
  398. package/lib/generated/services/snowball.js +2 -2
  399. package/lib/generated/services/sns.js +4 -4
  400. package/lib/generated/services/social-messaging.js +4 -4
  401. package/lib/generated/services/sqlworkbench.js +3 -3
  402. package/lib/generated/services/sqs.js +4 -4
  403. package/lib/generated/services/ssm-contacts.js +4 -4
  404. package/lib/generated/services/ssm-guiconnect.js +2 -2
  405. package/lib/generated/services/ssm-incidents.js +4 -4
  406. package/lib/generated/services/ssm-quicksetup.js +4 -4
  407. package/lib/generated/services/ssm-sap.js +4 -4
  408. package/lib/generated/services/ssm.js +4 -4
  409. package/lib/generated/services/ssmmessages.js +2 -2
  410. package/lib/generated/services/sso-directory.js +1 -1
  411. package/lib/generated/services/sso-oauth.js +3 -3
  412. package/lib/generated/services/sso.js +4 -4
  413. package/lib/generated/services/states.js +4 -4
  414. package/lib/generated/services/storagegateway.js +4 -4
  415. package/lib/generated/services/sts.js +4 -4
  416. package/lib/generated/services/support-console.js +1 -1
  417. package/lib/generated/services/support.d.ts +10 -0
  418. package/lib/generated/services/support.js +18 -3
  419. package/lib/generated/services/supportapp.js +2 -2
  420. package/lib/generated/services/supportauthz.js +4 -4
  421. package/lib/generated/services/supportplans.js +1 -1
  422. package/lib/generated/services/sustainability.js +2 -2
  423. package/lib/generated/services/swf.js +4 -4
  424. package/lib/generated/services/synthetics.js +4 -4
  425. package/lib/generated/services/tag.js +2 -2
  426. package/lib/generated/services/tax.js +2 -2
  427. package/lib/generated/services/textract.js +4 -4
  428. package/lib/generated/services/thinclient.js +4 -4
  429. package/lib/generated/services/timestream-influxdb.js +4 -4
  430. package/lib/generated/services/timestream.js +4 -4
  431. package/lib/generated/services/tiros.js +1 -1
  432. package/lib/generated/services/tnb.js +4 -4
  433. package/lib/generated/services/transcribe.js +4 -4
  434. package/lib/generated/services/transfer.js +4 -4
  435. package/lib/generated/services/transform-custom.js +3 -3
  436. package/lib/generated/services/transform.js +3 -3
  437. package/lib/generated/services/translate.js +4 -4
  438. package/lib/generated/services/trustedadvisor.js +3 -3
  439. package/lib/generated/services/ts.js +3 -3
  440. package/lib/generated/services/user-subscriptions.js +2 -2
  441. package/lib/generated/services/uxc.js +2 -2
  442. package/lib/generated/services/vendor-insights.js +3 -3
  443. package/lib/generated/services/verified-access.js +1 -1
  444. package/lib/generated/services/verifiedpermissions.js +4 -4
  445. package/lib/generated/services/voiceid.js +4 -4
  446. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  447. package/lib/generated/services/vpc-lattice.js +4 -4
  448. package/lib/generated/services/vpce.js +2 -2
  449. package/lib/generated/services/waf-regional.js +4 -4
  450. package/lib/generated/services/waf.js +4 -4
  451. package/lib/generated/services/wafv2.js +4 -4
  452. package/lib/generated/services/wam.js +1 -1
  453. package/lib/generated/services/wellarchitected.js +4 -4
  454. package/lib/generated/services/wickr.js +4 -4
  455. package/lib/generated/services/wisdom.js +4 -4
  456. package/lib/generated/services/workdocs.js +3 -3
  457. package/lib/generated/services/worklink.js +3 -3
  458. package/lib/generated/services/workmail.js +4 -4
  459. package/lib/generated/services/workmailmessageflow.js +3 -3
  460. package/lib/generated/services/workspaces-instances.js +4 -4
  461. package/lib/generated/services/workspaces-web.js +4 -4
  462. package/lib/generated/services/workspaces.js +4 -4
  463. package/lib/generated/services/xray.js +4 -4
  464. package/package.json +1 -1
@@ -16,7 +16,7 @@ class BedrockAgentcoreActions {
16
16
  }
17
17
  exports.BedrockAgentcoreActions = BedrockAgentcoreActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- BedrockAgentcoreActions[_a] = { fqn: "@cdk_utils/iam.bedrock_agentcore.BedrockAgentcoreActions", version: "1.12.0" };
19
+ BedrockAgentcoreActions[_a] = { fqn: "@cdk_utils/iam.bedrock_agentcore.BedrockAgentcoreActions", version: "1.14.0" };
20
20
  /** The IAM service prefix. */
21
21
  BedrockAgentcoreActions.SERVICE_PREFIX = "bedrock-agentcore";
22
22
  /** [Write] bedrock-agentcore:AddDatasetExamples */
@@ -1727,7 +1727,7 @@ class BedrockAgentcoreResources {
1727
1727
  }
1728
1728
  exports.BedrockAgentcoreResources = BedrockAgentcoreResources;
1729
1729
  _b = JSII_RTTI_SYMBOL_1;
1730
- BedrockAgentcoreResources[_b] = { fqn: "@cdk_utils/iam.bedrock_agentcore.BedrockAgentcoreResources", version: "1.12.0" };
1730
+ BedrockAgentcoreResources[_b] = { fqn: "@cdk_utils/iam.bedrock_agentcore.BedrockAgentcoreResources", version: "1.14.0" };
1731
1731
  /**
1732
1732
  * API operation to required IAM actions mapping for bedrock-agentcore.
1733
1733
  */
@@ -1735,7 +1735,7 @@ class BedrockAgentcoreOperations {
1735
1735
  }
1736
1736
  exports.BedrockAgentcoreOperations = BedrockAgentcoreOperations;
1737
1737
  _c = JSII_RTTI_SYMBOL_1;
1738
- BedrockAgentcoreOperations[_c] = { fqn: "@cdk_utils/iam.bedrock_agentcore.BedrockAgentcoreOperations", version: "1.12.0" };
1738
+ BedrockAgentcoreOperations[_c] = { fqn: "@cdk_utils/iam.bedrock_agentcore.BedrockAgentcoreOperations", version: "1.14.0" };
1739
1739
  /** IAM actions required for the AddDatasetExamples API call. */
1740
1740
  BedrockAgentcoreOperations.AddDatasetExamples = [
1741
1741
  "bedrock-agentcore:AddDatasetExamples",
@@ -2244,6 +2244,8 @@ BedrockAgentcoreOperations.opGetWorkloadAccessTokenForUserId = [
2244
2244
  BedrockAgentcoreOperations.opGetWorkloadIdentity = [
2245
2245
  "bedrock-agentcore:GetWorkloadIdentity",
2246
2246
  ];
2247
+ /** IAM actions required for the IngestData API call. */
2248
+ BedrockAgentcoreOperations.IngestData = [];
2247
2249
  /** IAM actions required for the InvokeAgentRuntime API call. */
2248
2250
  BedrockAgentcoreOperations.InvokeAgentRuntime = [
2249
2251
  "bedrock-agentcore:InvokeAgentRuntime",
@@ -2901,7 +2903,7 @@ class BedrockAgentcoreConditions {
2901
2903
  }
2902
2904
  exports.BedrockAgentcoreConditions = BedrockAgentcoreConditions;
2903
2905
  _d = JSII_RTTI_SYMBOL_1;
2904
- BedrockAgentcoreConditions[_d] = { fqn: "@cdk_utils/iam.bedrock_agentcore.BedrockAgentcoreConditions", version: "1.12.0" };
2906
+ BedrockAgentcoreConditions[_d] = { fqn: "@cdk_utils/iam.bedrock_agentcore.BedrockAgentcoreConditions", version: "1.14.0" };
2905
2907
  /** Condition keys applicable to the BatchCreateMemoryRecords action. */
2906
2908
  BedrockAgentcoreConditions.BatchCreateMemoryRecordsConditionKeys = [
2907
2909
  "bedrock-agentcore:namespace",
@@ -3164,4 +3166,4 @@ BedrockAgentcoreConditions.STRATEGY_ID = "bedrock-agentcore:strategyId";
3164
3166
  BedrockAgentcoreConditions.SUBNETS = "bedrock-agentcore:subnets";
3165
3167
  /** Condition key: bedrock-agentcore:userid (String) */
3166
3168
  BedrockAgentcoreConditions.USERID = "bedrock-agentcore:userid";
3167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay1hZ2VudGNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2JlZHJvY2stYWdlbnRjb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsd0RBQXdEO0FBQ3hELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLHVCQUF1Qjs7QUFBcEMsMERBZzVCQzs7O0FBLzRCQSw4QkFBOEI7QUFDZCxzQ0FBYyxHQUFHLG1CQUFtQixDQUFDO0FBRXJELG1EQUFtRDtBQUNuQywwQ0FBa0IsR0FBRyxzQ0FBc0MsQ0FBQztBQUM1RSxpRkFBaUY7QUFDakUseURBQWlDLEdBQ2hELHFEQUFxRCxDQUFDO0FBQ3ZELCtEQUErRDtBQUMvQyx1Q0FBZSxHQUFHLG1DQUFtQyxDQUFDO0FBQ3RFLHlEQUF5RDtBQUN6QyxnREFBd0IsR0FDdkMsNENBQTRDLENBQUM7QUFDOUMseURBQXlEO0FBQ3pDLGdEQUF3QixHQUN2Qyw0Q0FBNEMsQ0FBQztBQUM5QywwREFBMEQ7QUFDMUMsaURBQXlCLEdBQ3hDLDZDQUE2QyxDQUFDO0FBQy9DLHlEQUF5RDtBQUN6QyxnREFBd0IsR0FDdkMsNENBQTRDLENBQUM7QUFDOUMseURBQXlEO0FBQ3pDLGlEQUF5QixHQUN4Qyw2Q0FBNkMsQ0FBQztBQUMvQyw4REFBOEQ7QUFDOUMsc0RBQThCLEdBQzdDLGtEQUFrRCxDQUFDO0FBQ3BELDREQUE0RDtBQUM1QyxvREFBNEIsR0FDM0MsZ0RBQWdELENBQUM7QUFDbEQsNkNBQTZDO0FBQzdCLG9DQUFZLEdBQUcsZ0NBQWdDLENBQUM7QUFDaEUsbURBQW1EO0FBQ25DLDBDQUFrQixHQUFHLHNDQUFzQyxDQUFDO0FBQzVFLDJEQUEyRDtBQUMzQyxrREFBMEIsR0FDekMsOENBQThDLENBQUM7QUFDaEQsK0RBQStEO0FB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LGlFQUFpRTtBQUNqRCw2Q0FBa0IsR0FBRyxvQ0FBb0MsQ0FBQztBQUMxRSxzRUFBc0U7QUFDdEQsMENBQWUsR0FBRyxrQ0FBa0MsQ0FBQztBQUNyRSwwREFBMEQ7QUFDMUMscUNBQVUsR0FBRyw2QkFBNkIsQ0FBQztBQUMzRCwyREFBMkQ7QUFDM0Msc0NBQVcsR0FBRyw4QkFBOEIsQ0FBQztBQUM3RCwrREFBK0Q7QUFDL0Msa0NBQU8sR0FBRywyQkFBMkIsQ0FBQztBQUN0RCx1REFBdUQ7QUFDdkMsaUNBQU0sR0FBRywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2JlZHJvY2stYWdlbnRjb3JlLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBiZWRyb2NrLWFnZW50Y29yZSBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgQmVkcm9ja0FnZW50Y29yZUFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJiZWRyb2NrLWFnZW50Y29yZVwiO1xuXG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkFkZERhdGFzZXRFeGFtcGxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkRGF0YXNldEV4YW1wbGVzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpBZGREYXRhc2V0RXhhbXBsZXNcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gYmVkcm9jay1hZ2VudGNvcmU6QWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6QWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIGJlZHJvY2stYWdlbnRjb3JlOkF1dGhvcml6ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXV0aG9yaXplQWN0aW9uID0gXCJiZWRyb2NrLWFnZW50Y29yZTpBdXRob3JpemVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6QmF0Y2hDcmVhdGVNZW1vcnlSZWNvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaENyZWF0ZU1lbW9yeVJlY29yZHMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6QmF0Y2hDcmVhdGVNZW1vcnlSZWNvcmRzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkJhdGNoRGVsZXRlTWVtb3J5UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVNZW1vcnlSZWNvcmRzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkJhdGNoRGVsZXRlTWVtb3J5UmVjb3Jkc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpCYXRjaFB1dEdhdGV3YXlSYXRlTGltaXRzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFB1dEdhdGV3YXlSYXRlTGltaXRzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkJhdGNoUHV0R2F0ZXdheVJhdGVMaW1pdHNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6QmF0Y2hVcGRhdGVNZW1vcnlSZWNvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFVwZGF0ZU1lbW9yeVJlY29yZHMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6QmF0Y2hVcGRhdGVNZW1vcnlSZWNvcmRzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6Q29tcGxldGVSZXNvdXJjZVRva2VuQXV0aCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29tcGxldGVSZXNvdXJjZVRva2VuQXV0aCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDb21wbGV0ZVJlc291cmNlVG9rZW5BdXRoXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6Q29ubmVjdEJyb3dzZXJBdXRvbWF0aW9uU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBDb25uZWN0QnJvd3NlckF1dG9tYXRpb25TdHJlYW0gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q29ubmVjdEJyb3dzZXJBdXRvbWF0aW9uU3RyZWFtXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6Q29ubmVjdEJyb3dzZXJMaXZlVmlld1N0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29ubmVjdEJyb3dzZXJMaXZlVmlld1N0cmVhbSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDb25uZWN0QnJvd3NlckxpdmVWaWV3U3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUFCVGVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUJUZXN0ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVBQlRlc3RcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQWdlbnRSdW50aW1lICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudFJ1bnRpbWUgPSBcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUFnZW50UnVudGltZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVBZ2VudFJ1bnRpbWVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRSdW50aW1lRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQWdlbnRSdW50aW1lRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUJyb3dzZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJyb3dzZXIgPSBcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUJyb3dzZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQnJvd3NlclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJyb3dzZXJQcm9maWxlID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUJyb3dzZXJQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUNhcGFjaXR5UHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhcGFjaXR5UHJvdmlkZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQ2FwYWNpdHlQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVDb2RlSW50ZXJwcmV0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvZGVJbnRlcnByZXRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVDb2RlSW50ZXJwcmV0ZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQ29uZmlndXJhdGlvbkJ1bmRsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJhdGlvbkJ1bmRsZSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVDb25maWd1cmF0aW9uQnVuZGxlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZURhdGFzZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFzZXQgPSBcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZURhdGFzZXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlRGF0YXNldFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFzZXRWZXJzaW9uID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZURhdGFzZXRWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUV2YWx1YXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZhbHVhdG9yID0gXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVFdmFsdWF0b3JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVFdmVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHYXRld2F5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUdhdGV3YXlSYXRlTGltaXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdhdGV3YXlSYXRlTGltaXQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlR2F0ZXdheVJhdGVMaW1pdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5UnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR2F0ZXdheVJ1bGUgPSBcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUdhdGV3YXlSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUdhdGV3YXlUYXJnZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdhdGV3YXlUYXJnZXQgPSBcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUdhdGV3YXlUYXJnZXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlSGFybmVzcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSGFybmVzcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlSGFybmVzc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVIYXJuZXNzRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUhhcm5lc3NFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVIYXJuZXNzRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlTWVtb3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNZW1vcnkgPSBcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZU1lbW9yeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9hdXRoMkNyZWRlbnRpYWxQcm92aWRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBheW1lbnRDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBheW1lbnRDb25uZWN0b3IgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUGF5bWVudENvbm5lY3RvclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUGF5bWVudEluc3RydW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBheW1lbnRJbnN0cnVtZW50ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBheW1lbnRJbnN0cnVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBheW1lbnRNYW5hZ2VyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXltZW50TWFuYWdlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQYXltZW50TWFuYWdlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQYXltZW50U2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGF5bWVudFNlc3Npb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUGF5bWVudFNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb2xpY3kgPSBcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQb2xpY3lFbmdpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBvbGljeUVuZ2luZSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUG9saWN5RW5naW5lXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVJlZ2lzdHJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyeSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUmVnaXN0cnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUmVnaXN0cnlSZWNvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJ5UmVjb3JkID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVJlZ2lzdHJ5UmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVdvcmtsb2FkSWRlbnRpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtsb2FkSWRlbnRpdHkgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlV29ya2xvYWRJZGVudGl0eVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVBQlRlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFCVGVzdCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQUJUZXN0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUFnZW50UnVudGltZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRSdW50aW1lID0gXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVBZ2VudFJ1bnRpbWVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQWdlbnRSdW50aW1lRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50UnVudGltZUVuZHBvaW50ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUFnZW50UnVudGltZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVCYXRjaEV2YWx1YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJhdGNoRXZhbHVhdGlvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVCYXRjaEV2YWx1YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQnJvd3NlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQnJvd3NlciA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQnJvd3NlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVCcm93c2VyUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQnJvd3NlclByb2ZpbGUgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQnJvd3NlclByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQ2FwYWNpdHlQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FwYWNpdHlQcm92aWRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVDYXBhY2l0eVByb3ZpZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUNhcGFjaXR5UHJvdmlkZXJTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYXBhY2l0eVByb3ZpZGVyU2Vzc2lvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVDYXBhY2l0eVByb3ZpZGVyU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVDb2RlSW50ZXJwcmV0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvZGVJbnRlcnByZXRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVDb2RlSW50ZXJwcmV0ZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQ29uZmlndXJhdGlvbkJ1bmRsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJhdGlvbkJ1bmRsZSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVDb25maWd1cmF0aW9uQnVuZGxlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZURhdGFzZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFzZXQgPSBcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZURhdGFzZXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlRGF0YXNldEV4YW1wbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhc2V0RXhhbXBsZXMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlRGF0YXNldEV4YW1wbGVzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUV2YWx1YXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXZhbHVhdG9yID0gXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVFdmFsdWF0b3JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVFdmVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVHYXRld2F5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHYXRld2F5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVHYXRld2F5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXlSYXRlTGltaXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdhdGV3YXlSYXRlTGltaXQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlR2F0ZXdheVJhdGVMaW1pdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVHYXRld2F5UnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR2F0ZXdheVJ1bGUgPSBcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXlSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXlUYXJnZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdhdGV3YXlUYXJnZXQgPSBcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXlUYXJnZXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlSGFybmVzcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSGFybmVzcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlSGFybmVzc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVIYXJuZXNzRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUhhcm5lc3NFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVIYXJuZXNzRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlTWVtb3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZW1vcnkgPSBcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZU1lbW9yeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVNZW1vcnlSZWNvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1lbW9yeVJlY29yZCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlTWVtb3J5UmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZU9hdXRoMkNyZWRlbnRpYWxQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZU9hdXRoMkNyZWRlbnRpYWxQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZU9ubGluZUV2YWx1YXRpb25Db25maWdcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUGF5bWVudENvbm5lY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGF5bWVudENvbm5lY3RvciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQYXltZW50Q29ubmVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQYXltZW50SW5zdHJ1bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGF5bWVudEluc3RydW1lbnQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUGF5bWVudEluc3RydW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUGF5bWVudE1hbmFnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBheW1lbnRNYW5hZ2VyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVBheW1lbnRNYW5hZ2VyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVBheW1lbnRTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXltZW50U2Vzc2lvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQYXltZW50U2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBvbGljeSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVBvbGljeUVuZ2luZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUG9saWN5RW5naW5lID0gXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQb2xpY3lFbmdpbmVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUmVjb21tZW5kYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29tbWVuZGF0aW9uID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVJlZ2lzdHJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyeSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUmVnaXN0cnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUmVnaXN0cnlSZWNvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlZ2lzdHJ5UmVjb3JkID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVJlZ2lzdHJ5UmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVXb3JrbG9hZElkZW50aXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3JrbG9hZElkZW50aXR5ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVdvcmtsb2FkSWRlbnRpdHlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RXZhbHVhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IEV2YWx1YXRlID0gXCJiZWRyb2NrLWFnZW50Y29yZTpFdmFsdWF0ZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpHYXRld2F5QXNzb2NpYXRlV2ViQUNMICovXG5cdHN0YXRpYyByZWFkb25seSBHYXRld2F5QXNzb2NpYXRlV2ViQUNMID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdhdGV3YXlBc3NvY2lhdGVXZWJBQ0xcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6R2F0ZXdheURpc2Fzc29jaWF0ZVdlYkFDTCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2F0ZXdheURpc2Fzc29jaWF0ZVdlYkFDTCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHYXRld2F5RGlzYXNzb2NpYXRlV2ViQUNMXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2F0ZXdheUdldFdlYkFDTEZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBHYXRld2F5R2V0V2ViQUNMRm9yUmVzb3VyY2UgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2F0ZXdheUdldFdlYkFDTEZvclJlc291cmNlXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6R2F0ZXdheUxpc3RSZXNvdXJjZXNGb3JXZWJBQ0wgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdhdGV3YXlMaXN0UmVzb3VyY2VzRm9yV2ViQUNMID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdhdGV3YXlMaXN0UmVzb3VyY2VzRm9yV2ViQUNMXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0QUJUZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBQlRlc3QgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldEFCVGVzdFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldEFnZW50Q2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRDYXJkID0gXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRBZ2VudENhcmRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRBZ2VudFJ1bnRpbWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50UnVudGltZSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0QWdlbnRSdW50aW1lXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0QWdlbnRSdW50aW1lRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50UnVudGltZUVuZHBvaW50ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldEFnZW50UnVudGltZUVuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0QXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0QXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0QmF0Y2hFdmFsdWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCYXRjaEV2YWx1YXRpb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0QmF0Y2hFdmFsdWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0QnJvd3NlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QnJvd3NlciA9IFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0QnJvd3NlclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldEJyb3dzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCcm93c2VyUHJvZmlsZSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRCcm93c2VyUHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldEJyb3dzZXJTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCcm93c2VyU2Vzc2lvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRCcm93c2VyU2Vzc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldENhcGFjaXR5UHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENhcGFjaXR5UHJvdmlkZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0Q2FwYWNpdHlQcm92aWRlclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldENvZGVJbnRlcnByZXRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29kZUludGVycHJldGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldENvZGVJbnRlcnByZXRlclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldENvZGVJbnRlcnByZXRlclNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvZGVJbnRlcnByZXRlclNlc3Npb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0Q29kZUludGVycHJldGVyU2Vzc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldENvbmZpZ3VyYXRpb25CdW5kbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbmZpZ3VyYXRpb25CdW5kbGUgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0Q29uZmlndXJhdGlvbkJ1bmRsZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldENvbmZpZ3VyYXRpb25CdW5kbGVWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25maWd1cmF0aW9uQnVuZGxlVmVyc2lvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRDb25maWd1cmF0aW9uQnVuZGxlVmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldERhdGFzZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFzZXQgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldERhdGFzZXRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRFdmFsdWF0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV2YWx1YXRvciA9IFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0RXZhbHVhdG9yXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0RXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV2ZW50ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRFdmVudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldEdhdGV3YXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEdhdGV3YXkgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldEdhdGV3YXlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRHYXRld2F5UmF0ZUxpbWl0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRHYXRld2F5UmF0ZUxpbWl0ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldEdhdGV3YXlSYXRlTGltaXRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRHYXRld2F5UnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0R2F0ZXdheVJ1bGUgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldEdhdGV3YXlSdWxlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0R2F0ZXdheVRhcmdldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0R2F0ZXdheVRhcmdldCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0R2F0ZXdheVRhcmdldFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldEhhcm5lc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEhhcm5lc3MgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldEhhcm5lc3NcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRIYXJuZXNzRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEhhcm5lc3NFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRIYXJuZXNzRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRNZW1vcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1lbW9yeSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0TWVtb3J5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0TWVtb3J5UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNZW1vcnlSZWNvcmQgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldE1lbW9yeVJlY29yZFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldE9hdXRoMkNyZWRlbnRpYWxQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldE9hdXRoMkNyZWRlbnRpYWxQcm92aWRlclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldE9ubGluZUV2YWx1YXRpb25Db25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE9ubGluZUV2YWx1YXRpb25Db25maWcgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0T25saW5lRXZhbHVhdGlvbkNvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBheW1lbnRDb25uZWN0b3IgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UGF5bWVudENvbm5lY3RvclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UGF5bWVudENyZWRlbnRpYWxQcm92aWRlclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRJbnN0cnVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXltZW50SW5zdHJ1bWVudCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50SW5zdHJ1bWVudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRJbnN0cnVtZW50QmFsYW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGF5bWVudEluc3RydW1lbnRCYWxhbmNlID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRJbnN0cnVtZW50QmFsYW5jZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRNYW5hZ2VyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXltZW50TWFuYWdlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50TWFuYWdlclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXltZW50U2Vzc2lvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50U2Vzc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UG9saWN5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRQb2xpY3lFbmdpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBvbGljeUVuZ2luZSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5RW5naW5lXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5RW5naW5lU3VtbWFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UG9saWN5RW5naW5lU3VtbWFyeSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQb2xpY3lFbmdpbmVTdW1tYXJ5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5R2VuZXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UG9saWN5R2VuZXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQb2xpY3lHZW5lcmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5R2VuZXJhdGlvblN1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBvbGljeUdlbmVyYXRpb25TdW1tYXJ5ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeUdlbmVyYXRpb25TdW1tYXJ5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5U3VtbWFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UG9saWN5U3VtbWFyeSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5U3VtbWFyeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFJlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWNvbW1lbmRhdGlvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRSZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFJlZ2lzdHJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWdpc3RyeSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVnaXN0cnlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRSZWdpc3RyeVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVnaXN0cnlSZWNvcmQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVnaXN0cnlSZWNvcmRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRSZXNvdXJjZUFwaUtleSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VBcGlLZXkgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVzb3VyY2VBcGlLZXlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRSZXNvdXJjZU9hdXRoMlRva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZU9hdXRoMlRva2VuID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlc291cmNlT2F1dGgyVG9rZW5cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRSZXNvdXJjZVBheW1lbnRUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VQYXltZW50VG9rZW4gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVzb3VyY2VQYXltZW50VG9rZW5cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3kgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRUb2tlblZhdWx0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUb2tlblZhdWx0ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRUb2tlblZhdWx0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkdldFdvcmtsb2FkQWNjZXNzVG9rZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFdvcmtsb2FkQWNjZXNzVG9rZW4gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0V29ya2xvYWRBY2Nlc3NUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9ySldUICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9ySldUID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JKV1RcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6R2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvclVzZXJJZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvclVzZXJJZCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9yVXNlcklkXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0V29ya2xvYWRJZGVudGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0V29ya2xvYWRJZGVudGl0eSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRXb3JrbG9hZElkZW50aXR5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQWdlbnRSdW50aW1lID0gXCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lQ29tbWFuZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQWdlbnRSdW50aW1lQ29tbWFuZCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVDb21tYW5kXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUNvbW1hbmRTaGVsbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQWdlbnRSdW50aW1lQ29tbWFuZFNoZWxsID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUNvbW1hbmRTaGVsbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVGb3JVc2VyICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBZ2VudFJ1bnRpbWVGb3JVc2VyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUZvclVzZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lV2l0aFdlYlNvY2tldFN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQWdlbnRSdW50aW1lV2l0aFdlYlNvY2tldFN0cmVhbSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVXaXRoV2ViU29ja2V0U3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZVdpdGhXZWJTb2NrZXRTdHJlYW1Gb3JVc2VyICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBZ2VudFJ1bnRpbWVXaXRoV2ViU29ja2V0U3RyZWFtRm9yVXNlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVXaXRoV2ViU29ja2V0U3RyZWFtRm9yVXNlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VDb2RlSW50ZXJwcmV0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUNvZGVJbnRlcnByZXRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VDb2RlSW50ZXJwcmV0ZXJcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlR2F0ZXdheSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlR2F0ZXdheSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlR2F0ZXdheVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VIYXJuZXNzICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VIYXJuZXNzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VIYXJuZXNzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlUmVnaXN0cnlNY3AgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZVJlZ2lzdHJ5TWNwID0gXCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VSZWdpc3RyeU1jcFwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VXZWJTZWFyY2ggKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZVdlYlNlYXJjaCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlV2ViU2VhcmNoXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFCVGVzdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBQlRlc3RzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QUJUZXN0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RBY3RvcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBY3RvcnMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RBY3RvcnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0QWdlbnRSdW50aW1lRW5kcG9pbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRSdW50aW1lRW5kcG9pbnRzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RBZ2VudFJ1bnRpbWVFbmRwb2ludHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0QWdlbnRSdW50aW1lVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFJ1bnRpbWVWZXJzaW9ucyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QWdlbnRSdW50aW1lVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0QWdlbnRSdW50aW1lVmVyc2lvbnNCeUNhcGFjaXR5UHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFJ1bnRpbWVWZXJzaW9uc0J5Q2FwYWNpdHlQcm92aWRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QWdlbnRSdW50aW1lVmVyc2lvbnNCeUNhcGFjaXR5UHJvdmlkZXJcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0QWdlbnRSdW50aW1lcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50UnVudGltZXMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RBZ2VudFJ1bnRpbWVzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFwaUtleUNyZWRlbnRpYWxQcm92aWRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEJhdGNoRXZhbHVhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCYXRjaEV2YWx1YXRpb25zID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RCYXRjaEV2YWx1YXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEJyb3dzZXJQcm9maWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJyb3dzZXJQcm9maWxlcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEJyb3dzZXJQcm9maWxlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RCcm93c2VyU2Vzc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCcm93c2VyU2Vzc2lvbnMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RCcm93c2VyU2Vzc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0QnJvd3NlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCcm93c2VycyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEJyb3dzZXJzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdENhcGFjaXR5UHJvdmlkZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2FwYWNpdHlQcm92aWRlcnMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdENhcGFjaXR5UHJvdmlkZXJzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdENvZGVJbnRlcnByZXRlclNlc3Npb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZUludGVycHJldGVyU2Vzc2lvbnMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdENvZGVJbnRlcnByZXRlclNlc3Npb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdENvZGVJbnRlcnByZXRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2RlSW50ZXJwcmV0ZXJzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RDb2RlSW50ZXJwcmV0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdENvbmZpZ3VyYXRpb25CdW5kbGVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyYXRpb25CdW5kbGVWZXJzaW9ucyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0Q29uZmlndXJhdGlvbkJ1bmRsZVZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdENvbmZpZ3VyYXRpb25CdW5kbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJhdGlvbkJ1bmRsZXMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdENvbmZpZ3VyYXRpb25CdW5kbGVzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdERhdGFzZXRFeGFtcGxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFzZXRFeGFtcGxlcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdERhdGFzZXRFeGFtcGxlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3REYXRhc2V0VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhc2V0VmVyc2lvbnMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3REYXRhc2V0VmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0RGF0YXNldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhc2V0cyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdERhdGFzZXRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEV2YWx1YXRvcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmFsdWF0b3JzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0RXZhbHVhdG9yc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudHMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RFdmVudHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0R2F0ZXdheVJhdGVMaW1pdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHYXRld2F5UmF0ZUxpbWl0cyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0R2F0ZXdheVJhdGVMaW1pdHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0R2F0ZXdheVJ1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R2F0ZXdheVJ1bGVzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0R2F0ZXdheVJ1bGVzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEdhdGV3YXlUYXJnZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R2F0ZXdheVRhcmdldHMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RHYXRld2F5VGFyZ2V0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RHYXRld2F5cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdhdGV3YXlzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0R2F0ZXdheXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0SGFybmVzc0VuZHBvaW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEhhcm5lc3NFbmRwb2ludHMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEhhcm5lc3NFbmRwb2ludHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0SGFybmVzc1ZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SGFybmVzc1ZlcnNpb25zID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0SGFybmVzc1ZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEhhcm5lc3NlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEhhcm5lc3NlcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEhhcm5lc3Nlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RNZW1vcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbW9yaWVzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0TWVtb3JpZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0TWVtb3J5RXh0cmFjdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZW1vcnlFeHRyYWN0aW9uSm9icyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0TWVtb3J5RXh0cmFjdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0TWVtb3J5UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbW9yeVJlY29yZHMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RNZW1vcnlSZWNvcmRzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdE9hdXRoMkNyZWRlbnRpYWxQcm92aWRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXJzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXJzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdE9ubGluZUV2YWx1YXRpb25Db25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T25saW5lRXZhbHVhdGlvbkNvbmZpZ3MgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdE9ubGluZUV2YWx1YXRpb25Db25maWdzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBheW1lbnRDb25uZWN0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGF5bWVudENvbm5lY3RvcnMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBheW1lbnRDb25uZWN0b3JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGF5bWVudENyZWRlbnRpYWxQcm92aWRlcnMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBheW1lbnRJbnN0cnVtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBheW1lbnRJbnN0cnVtZW50cyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UGF5bWVudEluc3RydW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBheW1lbnRNYW5hZ2VycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBheW1lbnRNYW5hZ2VycyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBheW1lbnRNYW5hZ2Vyc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RQYXltZW50U2Vzc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXltZW50U2Vzc2lvbnMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQYXltZW50U2Vzc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY2llcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBvbGljaWVzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBvbGljeUVuZ2luZVN1bW1hcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBvbGljeUVuZ2luZVN1bW1hcmllcyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5RW5naW5lU3VtbWFyaWVzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBvbGljeUVuZ2luZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY3lFbmdpbmVzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5RW5naW5lc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lHZW5lcmF0aW9uQXNzZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9saWN5R2VuZXJhdGlvbkFzc2V0cyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5R2VuZXJhdGlvbkFzc2V0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lHZW5lcmF0aW9uU3VtbWFyaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9saWN5R2VuZXJhdGlvblN1bW1hcmllcyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5R2VuZXJhdGlvblN1bW1hcmllc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lHZW5lcmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBvbGljeUdlbmVyYXRpb25zID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lHZW5lcmF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lTdW1tYXJpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY3lTdW1tYXJpZXMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lTdW1tYXJpZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0UmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kYXRpb25zID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdFJlZ2lzdHJpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWdpc3RyaWVzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UmVnaXN0cmllc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RSZWdpc3RyeVJlY29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWdpc3RyeVJlY29yZHMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RSZWdpc3RyeVJlY29yZHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0U2Vzc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9ucyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFNlc3Npb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RXb3JrbG9hZElkZW50aXRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXb3JrbG9hZElkZW50aXRpZXMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFdvcmtsb2FkSWRlbnRpdGllc1wiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBiZWRyb2NrLWFnZW50Y29yZTpNYW5hZ2VBZG1pblBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWFuYWdlQWRtaW5Qb2xpY3kgPSBcImJlZHJvY2stYWdlbnRjb3JlOk1hbmFnZUFkbWluUG9saWN5XCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIGJlZHJvY2stYWdlbnRjb3JlOk1hbmFnZVJlc291cmNlU2NvcGVkUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBNYW5hZ2VSZXNvdXJjZVNjb3BlZFBvbGljeSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpNYW5hZ2VSZXNvdXJjZVNjb3BlZFBvbGljeVwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBiZWRyb2NrLWFnZW50Y29yZTpQYXJ0aWFsbHlBdXRob3JpemVBY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBQYXJ0aWFsbHlBdXRob3JpemVBY3Rpb25zID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlBhcnRpYWxseUF1dGhvcml6ZUFjdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6UGFzc0NhcGFjaXR5UHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBhc3NDYXBhY2l0eVByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlBhc3NDYXBhY2l0eVByb3ZpZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlByb2Nlc3NQYXltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBQcm9jZXNzUGF5bWVudCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6UHJvY2Vzc1BheW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6UHV0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpQdXRTeXN0ZW1Mb2dFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFN5c3RlbUxvZ0V2ZW50cyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6UHV0U3lzdGVtTG9nRXZlbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6UmV0cmlldmVNZW1vcnlSZWNvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZU1lbW9yeVJlY29yZHMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6UmV0cmlldmVNZW1vcnlSZWNvcmRzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlNhdmVCcm93c2VyU2Vzc2lvblByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNhdmVCcm93c2VyU2Vzc2lvblByb2ZpbGUgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U2F2ZUJyb3dzZXJTZXNzaW9uUHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOlNlYXJjaFJlZ2lzdHJ5UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoUmVnaXN0cnlSZWNvcmRzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlNlYXJjaFJlZ2lzdHJ5UmVjb3Jkc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpTZXRUb2tlblZhdWx0Q01LICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRUb2tlblZhdWx0Q01LID0gXCJiZWRyb2NrLWFnZW50Y29yZTpTZXRUb2tlblZhdWx0Q01LXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlN0YXJ0QmF0Y2hFdmFsdWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEJhdGNoRXZhbHVhdGlvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTdGFydEJhdGNoRXZhbHVhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpTdGFydEJyb3dzZXJTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEJyb3dzZXJTZXNzaW9uID0gXCJiZWRyb2NrLWFnZW50Y29yZTpTdGFydEJyb3dzZXJTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlN0YXJ0Q29kZUludGVycHJldGVyU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN0YXJ0Q29kZUludGVycHJldGVyU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpTdGFydE1lbW9yeUV4dHJhY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWVtb3J5RXh0cmFjdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTdGFydE1lbW9yeUV4dHJhY3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6U3RhcnRQb2xpY3lHZW5lcmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFBvbGljeUdlbmVyYXRpb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3RhcnRQb2xpY3lHZW5lcmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlN0YXJ0UmVjb21tZW5kYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb21tZW5kYXRpb24gPSBcImJlZHJvY2stYWdlbnRjb3JlOlN0YXJ0UmVjb21tZW5kYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6U3RvcEJhdGNoRXZhbHVhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEJhdGNoRXZhbHVhdGlvbiA9IFwiYmVkcm9jay1hZ2VudGNvcmU6U3RvcEJhdGNoRXZhbHVhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpTdG9wQnJvd3NlclNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BCcm93c2VyU2Vzc2lvbiA9IFwiYmVkcm9jay1hZ2VudGNvcmU6U3RvcEJyb3dzZXJTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlN0b3BDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQ29kZUludGVycHJldGVyU2Vzc2lvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTdG9wQ29kZUludGVycHJldGVyU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpTdG9wUnVudGltZVNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSdW50aW1lU2Vzc2lvbiA9IFwiYmVkcm9jay1hZ2VudGNvcmU6U3RvcFJ1bnRpbWVTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlN1Ym1pdFJlZ2lzdHJ5UmVjb3JkRm9yQXBwcm92YWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFJlZ2lzdHJ5UmVjb3JkRm9yQXBwcm92YWwgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3VibWl0UmVnaXN0cnlSZWNvcmRGb3JBcHByb3ZhbFwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBiZWRyb2NrLWFnZW50Y29yZTpTeW5jaHJvbml6ZUdhdGV3YXlUYXJnZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBTeW5jaHJvbml6ZUdhdGV3YXlUYXJnZXRzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN5bmNocm9uaXplR2F0ZXdheVRhcmdldHNcIjtcblx0LyoqIFtUYWdnaW5nXSBiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gYmVkcm9jay1hZ2VudGNvcmU6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVBQlRlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFCVGVzdCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQUJUZXN0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUFnZW50UnVudGltZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRSdW50aW1lID0gXCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVBZ2VudFJ1bnRpbWVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQWdlbnRSdW50aW1lRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50UnVudGltZUVuZHBvaW50ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUFnZW50UnVudGltZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVCcm93c2VyU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCcm93c2VyU3RyZWFtID0gXCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVCcm93c2VyU3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUNhcGFjaXR5UHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNhcGFjaXR5UHJvdmlkZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQ2FwYWNpdHlQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVDb25maWd1cmF0aW9uQnVuZGxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmF0aW9uQnVuZGxlID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUNvbmZpZ3VyYXRpb25CdW5kbGVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlRGF0YXNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YXNldCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlRGF0YXNldFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVEYXRhc2V0RXhhbXBsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFzZXRFeGFtcGxlcyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVEYXRhc2V0RXhhbXBsZXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlRXZhbHVhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFdmFsdWF0b3IgPSBcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUV2YWx1YXRvclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVHYXRld2F5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHYXRld2F5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVHYXRld2F5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlSYXRlTGltaXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUdhdGV3YXlSYXRlTGltaXQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlR2F0ZXdheVJhdGVMaW1pdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVHYXRld2F5UnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlR2F0ZXdheVJ1bGUgPSBcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlUYXJnZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUdhdGV3YXlUYXJnZXQgPSBcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlUYXJnZXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlSGFybmVzcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSGFybmVzcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlSGFybmVzc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVIYXJuZXNzRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUhhcm5lc3NFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVIYXJuZXNzRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlTWVtb3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNZW1vcnkgPSBcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZU1lbW9yeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9hdXRoMkNyZWRlbnRpYWxQcm92aWRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBheW1lbnRDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBheW1lbnRDb25uZWN0b3IgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlUGF5bWVudENvbm5lY3RvclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlUGF5bWVudE1hbmFnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBheW1lbnRNYW5hZ2VyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBheW1lbnRNYW5hZ2VyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9saWN5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlUG9saWN5RW5naW5lICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQb2xpY3lFbmdpbmUgPSBcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBvbGljeUVuZ2luZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVSZWdpc3RyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVnaXN0cnkgPSBcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVJlZ2lzdHJ5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVJlZ2lzdHJ5UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWdpc3RyeVJlY29yZCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVSZWdpc3RyeVJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVSZWdpc3RyeVJlY29yZFN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVnaXN0cnlSZWNvcmRTdGF0dXMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlUmVnaXN0cnlSZWNvcmRTdGF0dXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlV29ya2xvYWRJZGVudGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya2xvYWRJZGVudGl0eSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVXb3JrbG9hZElkZW50aXR5XCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ29tcGxldGVSZXNvdXJjZVRva2VuQXV0aCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5Db25uZWN0QnJvd3NlckF1dG9tYXRpb25TdHJlYW0sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ29ubmVjdEJyb3dzZXJMaXZlVmlld1N0cmVhbSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5HYXRld2F5R2V0V2ViQUNMRm9yUmVzb3VyY2UsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0QUJUZXN0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldEFnZW50Q2FyZCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFJ1bnRpbWUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0QWdlbnRSdW50aW1lRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0QXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldEJhdGNoRXZhbHVhdGlvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRCcm93c2VyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldEJyb3dzZXJQcm9maWxlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldEJyb3dzZXJTZXNzaW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldENhcGFjaXR5UHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0Q29kZUludGVycHJldGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldENvZGVJbnRlcnByZXRlclNlc3Npb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0Q29uZmlndXJhdGlvbkJ1bmRsZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRDb25maWd1cmF0aW9uQnVuZGxlVmVyc2lvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXREYXRhc2V0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldEV2YWx1YXRvcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRFdmVudCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRHYXRld2F5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldEdhdGV3YXlSYXRlTGltaXQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0R2F0ZXdheVJ1bGUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0R2F0ZXdheVRhcmdldCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRIYXJuZXNzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldEhhcm5lc3NFbmRwb2ludCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRNZW1vcnksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0TWVtb3J5UmVjb3JkLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldE9hdXRoMkNyZWRlbnRpYWxQcm92aWRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRPbmxpbmVFdmFsdWF0aW9uQ29uZmlnLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFBheW1lbnRDb25uZWN0b3IsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UGF5bWVudENyZWRlbnRpYWxQcm92aWRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRQYXltZW50SW5zdHJ1bWVudCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRQYXltZW50SW5zdHJ1bWVudEJhbGFuY2UsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UGF5bWVudE1hbmFnZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UGF5bWVudFNlc3Npb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UG9saWN5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFBvbGljeUVuZ2luZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRQb2xpY3lFbmdpbmVTdW1tYXJ5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFBvbGljeUdlbmVyYXRpb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UG9saWN5R2VuZXJhdGlvblN1bW1hcnksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UG9saWN5U3VtbWFyeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRSZWNvbW1lbmRhdGlvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRSZWdpc3RyeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRSZWdpc3RyeVJlY29yZCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZUFwaUtleSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZU9hdXRoMlRva2VuLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlUGF5bWVudFRva2VuLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlUG9saWN5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFRva2VuVmF1bHQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0V29ya2xvYWRJZGVudGl0eSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5JbnZva2VSZWdpc3RyeU1jcCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0QXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVycyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0T2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVycyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0V29ya2xvYWRJZGVudGl0aWVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlNlYXJjaFJlZ2lzdHJ5UmVjb3Jkcyxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5BZGREYXRhc2V0RXhhbXBsZXMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQmF0Y2hDcmVhdGVNZW1vcnlSZWNvcmRzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkJhdGNoRGVsZXRlTWVtb3J5UmVjb3Jkcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5CYXRjaFB1dEdhdGV3YXlSYXRlTGltaXRzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkJhdGNoVXBkYXRlTWVtb3J5UmVjb3Jkcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVBQlRlc3QsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlQWdlbnRSdW50aW1lLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZUFnZW50UnVudGltZUVuZHBvaW50LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVCcm93c2VyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZUJyb3dzZXJQcm9maWxlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZUNhcGFjaXR5UHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlQ29kZUludGVycHJldGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZUNvbmZpZ3VyYXRpb25CdW5kbGUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlRGF0YXNldCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVEYXRhc2V0VmVyc2lvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVFdmFsdWF0b3IsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlRXZlbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlR2F0ZXdheSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVHYXRld2F5UmF0ZUxpbWl0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZUdhdGV3YXlSdWxlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZUdhdGV3YXlUYXJnZXQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlSGFybmVzcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVIYXJuZXNzRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlTWVtb3J5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZU9hdXRoMkNyZWRlbnRpYWxQcm92aWRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZVBheW1lbnRDb25uZWN0b3IsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVQYXltZW50SW5zdHJ1bWVudCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVQYXltZW50TWFuYWdlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVQYXltZW50U2Vzc2lvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVQb2xpY3ksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlUG9saWN5RW5naW5lLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZVJlZ2lzdHJ5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZVJlZ2lzdHJ5UmVjb3JkLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZVdvcmtsb2FkSWRlbnRpdHksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlQUJUZXN0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZUFnZW50UnVudGltZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVBZ2VudFJ1bnRpbWVFbmRwb2ludCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlQmF0Y2hFdmFsdWF0aW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZUJyb3dzZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlQnJvd3NlclByb2ZpbGUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlQ2FwYWNpdHlQcm92aWRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVDYXBhY2l0eVByb3ZpZGVyU2Vzc2lvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVDb2RlSW50ZXJwcmV0ZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlQ29uZmlndXJhdGlvbkJ1bmRsZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVEYXRhc2V0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZURhdGFzZXRFeGFtcGxlcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVFdmFsdWF0b3IsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlRXZlbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlR2F0ZXdheSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVHYXRld2F5UmF0ZUxpbWl0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZUdhdGV3YXlSdWxlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZUdhdGV3YXlUYXJnZXQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlSGFybmVzcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVIYXJuZXNzRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlTWVtb3J5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZU1lbW9yeVJlY29yZCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVQYXltZW50Q29ubmVjdG9yLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlUGF5bWVudEluc3RydW1lbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlUGF5bWVudE1hbmFnZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlUGF5bWVudFNlc3Npb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlUG9saWN5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZVBvbGljeUVuZ2luZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVSZWNvbW1lbmRhdGlvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVSZWdpc3RyeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVSZWdpc3RyeVJlY29yZCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVSZXNvdXJjZVBvbGljeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVXb3JrbG9hZElkZW50aXR5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkV2YWx1YXRlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkdhdGV3YXlBc3NvY2lhdGVXZWJBQ0wsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuR2F0ZXdheURpc2Fzc29jaWF0ZVdlYkFDTCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRXb3JrbG9hZEFjY2Vzc1Rva2VuLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JKV1QsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvclVzZXJJZCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5JbnZva2VBZ2VudFJ1bnRpbWUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuSW52b2tlQWdlbnRSdW50aW1lQ29tbWFuZCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5JbnZva2VBZ2VudFJ1bnRpbWVDb21tYW5kU2hlbGwsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuSW52b2tlQWdlbnRSdW50aW1lRm9yVXNlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5JbnZva2VBZ2VudFJ1bnRpbWVXaXRoV2ViU29ja2V0U3RyZWFtLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkludm9rZUFnZW50UnVudGltZVdpdGhXZWJTb2NrZXRTdHJlYW1Gb3JVc2VyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkludm9rZUNvZGVJbnRlcnByZXRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5JbnZva2VIYXJuZXNzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlBhc3NDYXBhY2l0eVByb3ZpZGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlByb2Nlc3NQYXltZW50LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlB1dFN5c3RlbUxvZ0V2ZW50cyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5TYXZlQnJvd3NlclNlc3Npb25Qcm9maWxlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvblNldFRva2VuVmF1bHRDTUssXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuU3RhcnRCYXRjaEV2YWx1YXRpb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuU3RhcnRCcm93c2VyU2Vzc2lvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5TdGFydENvZGVJbnRlcnByZXRlclNlc3Npb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuU3RhcnRNZW1vcnlFeHRyYWN0aW9uSm9iLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlN0YXJ0UG9saWN5R2VuZXJhdGlvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5TdGFydFJlY29tbWVuZGF0aW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlN0b3BCYXRjaEV2YWx1YXRpb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuU3RvcEJyb3dzZXJTZXNzaW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlN0b3BDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlN0b3BSdW50aW1lU2Vzc2lvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5TdWJtaXRSZWdpc3RyeVJlY29yZEZvckFwcHJvdmFsLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZUFCVGVzdCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVBZ2VudFJ1bnRpbWUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlQWdlbnRSdW50aW1lRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZUJyb3dzZXJTdHJlYW0sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlQ2FwYWNpdHlQcm92aWRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVDb25maWd1cmF0aW9uQnVuZGxlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZURhdGFzZXQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlRGF0YXNldEV4YW1wbGVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZUV2YWx1YXRvcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVHYXRld2F5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZUdhdGV3YXlSYXRlTGltaXQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlR2F0ZXdheVJ1bGUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlR2F0ZXdheVRhcmdldCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVIYXJuZXNzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZUhhcm5lc3NFbmRwb2ludCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVNZW1vcnksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZU9ubGluZUV2YWx1YXRpb25Db25maWcsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlUGF5bWVudENvbm5lY3Rvcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZVBheW1lbnRNYW5hZ2VyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZVBvbGljeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVQb2xpY3lFbmdpbmUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlUmVnaXN0cnksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlUmVnaXN0cnlSZWNvcmQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlUmVnaXN0cnlSZWNvcmRTdGF0dXMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlV29ya2xvYWRJZGVudGl0eSxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuR2F0ZXdheUxpc3RSZXNvdXJjZXNGb3JXZWJBQ0wsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEFCVGVzdHMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEFjdG9ycyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0QWdlbnRSdW50aW1lRW5kcG9pbnRzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RBZ2VudFJ1bnRpbWVWZXJzaW9ucyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0QWdlbnRSdW50aW1lVmVyc2lvbnNCeUNhcGFjaXR5UHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEFnZW50UnVudGltZXMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEJhdGNoRXZhbHVhdGlvbnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEJyb3dzZXJQcm9maWxlcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0QnJvd3NlclNlc3Npb25zLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RCcm93c2Vycyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0Q2FwYWNpdHlQcm92aWRlcnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdENvZGVJbnRlcnByZXRlclNlc3Npb25zLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RDb2RlSW50ZXJwcmV0ZXJzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RDb25maWd1cmF0aW9uQnVuZGxlVmVyc2lvbnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdENvbmZpZ3VyYXRpb25CdW5kbGVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3REYXRhc2V0RXhhbXBsZXMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdERhdGFzZXRWZXJzaW9ucyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0RGF0YXNldHMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEV2YWx1YXRvcnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEV2ZW50cyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0R2F0ZXdheVJhdGVMaW1pdHMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEdhdGV3YXlSdWxlcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0R2F0ZXdheVRhcmdldHMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEdhdGV3YXlzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RIYXJuZXNzRW5kcG9pbnRzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RIYXJuZXNzVmVyc2lvbnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEhhcm5lc3Nlcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0TWVtb3JpZXMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdE1lbW9yeUV4dHJhY3Rpb25Kb2JzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RNZW1vcnlSZWNvcmRzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RPbmxpbmVFdmFsdWF0aW9uQ29uZmlncyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0UGF5bWVudENvbm5lY3RvcnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdFBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RQYXltZW50SW5zdHJ1bWVudHMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdFBheW1lbnRNYW5hZ2Vycyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0UGF5bWVudFNlc3Npb25zLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RQb2xpY2llcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0UG9saWN5RW5naW5lU3VtbWFyaWVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RQb2xpY3lFbmdpbmVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RQb2xpY3lHZW5lcmF0aW9uQXNzZXRzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RQb2xpY3lHZW5lcmF0aW9uU3VtbWFyaWVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RQb2xpY3lHZW5lcmF0aW9ucyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0UG9saWN5U3VtbWFyaWVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RSZWNvbW1lbmRhdGlvbnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdFJlZ2lzdHJpZXMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdFJlZ2lzdHJ5UmVjb3Jkcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0U2Vzc2lvbnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5SZXRyaWV2ZU1lbW9yeVJlY29yZHMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5BdXRob3JpemVBY3Rpb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuSW52b2tlR2F0ZXdheSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5JbnZva2VXZWJTZWFyY2gsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTWFuYWdlQWRtaW5Qb2xpY3ksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTWFuYWdlUmVzb3VyY2VTY29wZWRQb2xpY3ksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuUGFydGlhbGx5QXV0aG9yaXplQWN0aW9ucyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5TeW5jaHJvbml6ZUdhdGV3YXlUYXJnZXRzLFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWItdGVzdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUFiVGVzdEFyblByb3BzIHtcblx0LyoqIFRoZSBBQlRlc3RJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWJUZXN0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhYi10ZXN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQWJUZXN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBQlRlc3RJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFiVGVzdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhcGlrZXljcmVkZW50aWFscHJvdmlkZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVBcGlrZXljcmVkZW50aWFscHJvdmlkZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVG9rZW5WYXVsdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0b2tlblZhdWx0SWQ6IHN0cmluZztcblx0LyoqIFRoZSBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUb2tlblZhdWx0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0b2tlblZhdWx0SWQ6IHN0cmluZztcblx0LyoqIFRoZSBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYmF0Y2gtZXZhbHVhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVCYXRjaEV2YWx1YXRlQXJuUHJvcHMge1xuXHQvKiogVGhlIEJhdGNoRXZhbHVhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBiYXRjaEV2YWx1YXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGJhdGNoLWV2YWx1YXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQmF0Y2hFdmFsdWF0ZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQmF0Y2hFdmFsdWF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBiYXRjaEV2YWx1YXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYnJvd3NlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUJyb3dzZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQnJvd3NlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBicm93c2VySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBicm93c2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQnJvd3NlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQnJvd3NlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYnJvd3NlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBicm93c2VyLWN1c3RvbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUJyb3dzZXJDdXN0b21Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQnJvd3NlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBicm93c2VySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBicm93c2VyLWN1c3RvbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUJyb3dzZXJDdXN0b21Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEJyb3dzZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGJyb3dzZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYnJvd3Nlci1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQnJvd3NlclByb2ZpbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQnJvd3NlclByb2ZpbGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYnJvd3NlclByb2ZpbGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGJyb3dzZXItcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUJyb3dzZXJQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCcm93c2VyUHJvZmlsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYnJvd3NlclByb2ZpbGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2FwYWNpdHktcHJvdmlkZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVDYXBhY2l0eVByb3ZpZGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIENhcGFjaXR5UHJvdmlkZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2FwYWNpdHlQcm92aWRlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2FwYWNpdHktcHJvdmlkZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVDYXBhY2l0eVByb3ZpZGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXBhY2l0eVByb3ZpZGVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXBhY2l0eVByb3ZpZGVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvZGUtaW50ZXJwcmV0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVDb2RlSW50ZXJwcmV0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29kZUludGVycHJldGVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvZGVJbnRlcnByZXRlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29kZS1pbnRlcnByZXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUNvZGVJbnRlcnByZXRlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29kZUludGVycHJldGVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb2RlSW50ZXJwcmV0ZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29kZS1pbnRlcnByZXRlci1jdXN0b20gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVDb2RlSW50ZXJwcmV0ZXJDdXN0b21Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29kZUludGVycHJldGVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvZGVJbnRlcnByZXRlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29kZS1pbnRlcnByZXRlci1jdXN0b20gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVDb2RlSW50ZXJwcmV0ZXJDdXN0b21Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvZGVJbnRlcnByZXRlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29kZUludGVycHJldGVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvbmZpZ3VyYXRpb24tYnVuZGxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQ29uZmlndXJhdGlvbkJ1bmRsZUFyblByb3BzIHtcblx0LyoqIFRoZSBDb25maWd1cmF0aW9uQnVuZGxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25CdW5kbGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbmZpZ3VyYXRpb24tYnVuZGxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQ29uZmlndXJhdGlvbkJ1bmRsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uZmlndXJhdGlvbkJ1bmRsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29uZmlndXJhdGlvbkJ1bmRsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlRGF0YXNldEFyblByb3BzIHtcblx0LyoqIFRoZSBEYXRhc2V0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhdGFzZXRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGFzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVEYXRhc2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEYXRhc2V0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYXRhc2V0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGV2YWx1YXRvciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUV2YWx1YXRvckFyblByb3BzIHtcblx0LyoqIFRoZSBFdmFsdWF0b3JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZXZhbHVhdG9ySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBldmFsdWF0b3IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVFdmFsdWF0b3JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEV2YWx1YXRvcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZXZhbHVhdG9ySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGdhdGV3YXkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVHYXRld2F5QXJuUHJvcHMge1xuXHQvKiogVGhlIEdhdGV3YXlJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZ2F0ZXdheUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZ2F0ZXdheSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUdhdGV3YXlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEdhdGV3YXlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGdhdGV3YXlJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaGFybmVzcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUhhcm5lc3NBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSGFybmVzc0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBoYXJuZXNzSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBoYXJuZXNzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlSGFybmVzc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSGFybmVzc0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaGFybmVzc0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBoYXJuZXNzLWVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlSGFybmVzc0VuZHBvaW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEhhcm5lc3NJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaGFybmVzc0lkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGhhcm5lc3MtZW5kcG9pbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVIYXJuZXNzRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEhhcm5lc3NJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGhhcm5lc3NJZDogc3RyaW5nO1xuXHQvKiogVGhlIE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtZW1vcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVNZW1vcnlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTWVtb3J5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1lbW9yeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbWVtb3J5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlTWVtb3J5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNZW1vcnlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1lbW9yeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBvYXV0aDJjcmVkZW50aWFscHJvdmlkZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVPYXV0aDJjcmVkZW50aWFscHJvdmlkZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVG9rZW5WYXVsdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0b2tlblZhdWx0SWQ6IHN0cmluZztcblx0LyoqIFRoZSBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgb2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlT2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUb2tlblZhdWx0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0b2tlblZhdWx0SWQ6IHN0cmluZztcblx0LyoqIFRoZSBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgb25saW5lLWV2YWx1YXRpb24tY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlT25saW5lRXZhbHVhdGlvbkNvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBPbmxpbmVFdmFsdWF0aW9uQ29uZmlnSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG9ubGluZUV2YWx1YXRpb25Db25maWdJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG9ubGluZS1ldmFsdWF0aW9uLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZU9ubGluZUV2YWx1YXRpb25Db25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE9ubGluZUV2YWx1YXRpb25Db25maWdJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG9ubGluZUV2YWx1YXRpb25Db25maWdJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcGF5bWVudC1tYW5hZ2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlUGF5bWVudE1hbmFnZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUGF5bWVudE1hbmFnZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcGF5bWVudE1hbmFnZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBheW1lbnQtbWFuYWdlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVBheW1lbnRNYW5hZ2VyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQYXltZW50TWFuYWdlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcGF5bWVudE1hbmFnZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcGF5bWVudGNyZWRlbnRpYWxwcm92aWRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVBheW1lbnRjcmVkZW50aWFscHJvdmlkZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVG9rZW5WYXVsdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0b2tlblZhdWx0SWQ6IHN0cmluZztcblx0LyoqIFRoZSBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcGF5bWVudGNyZWRlbnRpYWxwcm92aWRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVBheW1lbnRjcmVkZW50aWFscHJvdmlkZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRva2VuVmF1bHRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRva2VuVmF1bHRJZDogc3RyaW5nO1xuXHQvKiogVGhlIE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVQb2xpY3lBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUG9saWN5RW5naW5lSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBvbGljeUVuZ2luZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUG9saWN5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBvbGljeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlUG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQb2xpY3lFbmdpbmVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBvbGljeUVuZ2luZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUG9saWN5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwb2xpY3lJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcG9saWN5LWVuZ2luZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVBvbGljeUVuZ2luZUFyblByb3BzIHtcblx0LyoqIFRoZSBQb2xpY3lFbmdpbmVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcG9saWN5RW5naW5lSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwb2xpY3ktZW5naW5lIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlUG9saWN5RW5naW5lQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQb2xpY3lFbmdpbmVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBvbGljeUVuZ2luZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwb2xpY3ktZ2VuZXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVBvbGljeUdlbmVyYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUG9saWN5RW5naW5lSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBvbGljeUVuZ2luZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUG9saWN5R2VuZXJhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwb2xpY3lHZW5lcmF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwb2xpY3ktZ2VuZXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVBvbGljeUdlbmVyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFBvbGljeUVuZ2luZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcG9saWN5RW5naW5lSWQ6IHN0cmluZztcblx0LyoqIFRoZSBQb2xpY3lHZW5lcmF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwb2xpY3lHZW5lcmF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlY29tbWVuZGF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlUmVjb21tZW5kYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVjb21tZW5kYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlY29tbWVuZGF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlUmVjb21tZW5kYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlY29tbWVuZGF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWNvbW1lbmRhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWdpc3RyeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVJlZ2lzdHJ5QXJuUHJvcHMge1xuXHQvKiogVGhlIFJlZ2lzdHJ5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlZ2lzdHJ5SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZWdpc3RyeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVJlZ2lzdHJ5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWdpc3RyeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVnaXN0cnlJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVnaXN0cnktcmVjb3JkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlUmVnaXN0cnlSZWNvcmRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVnaXN0cnlJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVnaXN0cnlJZDogc3RyaW5nO1xuXHQvKiogVGhlIFJlY29yZElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZWNvcmRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlZ2lzdHJ5LXJlY29yZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVJlZ2lzdHJ5UmVjb3JkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWdpc3RyeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVnaXN0cnlJZDogc3RyaW5nO1xuXHQvKiogVGhlIFJlY29yZElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb3JkSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJ1bnRpbWUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVSdW50aW1lQXJuUHJvcHMge1xuXHQvKiogVGhlIFJ1bnRpbWVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcnVudGltZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcnVudGltZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVJ1bnRpbWVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJ1bnRpbWVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJ1bnRpbWVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcnVudGltZS1lbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVJ1bnRpbWVFbmRwb2ludEFyblByb3BzIHtcblx0LyoqIFRoZSBSdW50aW1lSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJ1bnRpbWVJZDogc3RyaW5nO1xuXHQvKiogVGhlIE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBydW50aW1lLWVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlUnVudGltZUVuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSdW50aW1lSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBydW50aW1lSWQ6IHN0cmluZztcblx0LyoqIFRoZSBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdG9rZW4tdmF1bHQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVUb2tlblZhdWx0QXJuUHJvcHMge1xuXHQvKiogVGhlIFRva2VuVmF1bHRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdG9rZW5WYXVsdElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdG9rZW4tdmF1bHQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVUb2tlblZhdWx0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUb2tlblZhdWx0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0b2tlblZhdWx0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHdlYi1zZWFyY2ggQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVXZWJTZWFyY2hBcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgd2ViLXNlYXJjaCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVdlYlNlYXJjaEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB3b3JrbG9hZC1pZGVudGl0eSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVdvcmtsb2FkSWRlbnRpdHlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGlyZWN0b3J5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRpcmVjdG9yeUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgV29ya2xvYWRJZGVudGl0eU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHdvcmtsb2FkSWRlbnRpdHlOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgd29ya2xvYWQtaWRlbnRpdHkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVXb3JrbG9hZElkZW50aXR5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEaXJlY3RvcnlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRpcmVjdG9yeUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgV29ya2xvYWRJZGVudGl0eU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB3b3JrbG9hZElkZW50aXR5TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya2xvYWQtaWRlbnRpdHktZGlyZWN0b3J5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlV29ya2xvYWRJZGVudGl0eURpcmVjdG9yeUFyblByb3BzIHtcblx0LyoqIFRoZSBEaXJlY3RvcnlJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGlyZWN0b3J5SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3JrbG9hZC1pZGVudGl0eS1kaXJlY3RvcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVXb3JrbG9hZElkZW50aXR5RGlyZWN0b3J5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEaXJlY3RvcnlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRpcmVjdG9yeUlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFiVGVzdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFiLXRlc3RcXC8oPzxhYlRlc3RJZD5bXjovP10rKSQvO1xuY29uc3QgQXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dG9rZW4tdmF1bHRcXC8oPzx0b2tlblZhdWx0SWQ+W146Lz9dKylcXC9hcGlrZXljcmVkZW50aWFscHJvdmlkZXJcXC8oPzxuYW1lPlteOi8/XSspJC87XG5jb25zdCBCYXRjaEV2YWx1YXRlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YmF0Y2gtZXZhbHVhdGVcXC8oPzxiYXRjaEV2YWx1YXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgQnJvd3NlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOmF3czpicm93c2VyXFwvKD88YnJvd3NlcklkPlteOi8/XSspJC87XG5jb25zdCBCcm93c2VyQ3VzdG9tQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YnJvd3Nlci1jdXN0b21cXC8oPzxicm93c2VySWQ+W146Lz9dKykkLztcbmNvbnN0IEJyb3dzZXJQcm9maWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YnJvd3Nlci1wcm9maWxlXFwvKD88YnJvd3NlclByb2ZpbGVJZD5bXjovP10rKSQvO1xuY29uc3QgQ2FwYWNpdHlQcm92aWRlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhcGFjaXR5LXByb3ZpZGVyXFwvKD88Y2FwYWNpdHlQcm92aWRlcklkPlteOi8/XSspJC87XG5jb25zdCBDb2RlSW50ZXJwcmV0ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTphd3M6Y29kZS1pbnRlcnByZXRlclxcLyg/PGNvZGVJbnRlcnByZXRlcklkPlteOi8/XSspJC87XG5jb25zdCBDb2RlSW50ZXJwcmV0ZXJDdXN0b21Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb2RlLWludGVycHJldGVyLWN1c3RvbVxcLyg/PGNvZGVJbnRlcnByZXRlcklkPlteOi8/XSspJC87XG5jb25zdCBDb25maWd1cmF0aW9uQnVuZGxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29uZmlndXJhdGlvbi1idW5kbGVcXC8oPzxjb25maWd1cmF0aW9uQnVuZGxlSWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFzZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhc2V0XFwvKD88ZGF0YXNldElkPlteOi8/XSspJC87XG5jb25zdCBFdmFsdWF0b3JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpldmFsdWF0b3JcXC8oPzxldmFsdWF0b3JJZD5bXjovP10rKSQvO1xuY29uc3QgR2F0ZXdheUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmdhdGV3YXlcXC8oPzxnYXRld2F5SWQ+W146Lz9dKykkLztcbmNvbnN0IEhhcm5lc3NBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpoYXJuZXNzXFwvKD88aGFybmVzc0lkPlteOi8/XSspJC87XG5jb25zdCBIYXJuZXNzRW5kcG9pbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpoYXJuZXNzXFwvKD88aGFybmVzc0lkPlteOi8/XSspXFwvaGFybmVzcy1lbmRwb2ludFxcLyg/PG5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1lbW9yeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1lbW9yeVxcLyg/PG1lbW9yeUlkPlteOi8/XSspJC87XG5jb25zdCBPYXV0aDJjcmVkZW50aWFscHJvdmlkZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0b2tlbi12YXVsdFxcLyg/PHRva2VuVmF1bHRJZD5bXjovP10rKVxcL29hdXRoMmNyZWRlbnRpYWxwcm92aWRlclxcLyg/PG5hbWU+W146Lz9dKykkLztcbmNvbnN0IE9ubGluZUV2YWx1YXRpb25Db25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpvbmxpbmUtZXZhbHVhdGlvbi1jb25maWdcXC8oPzxvbmxpbmVFdmFsdWF0aW9uQ29uZmlnSWQ+W146Lz9dKykkLztcbmNvbnN0IFBheW1lbnRNYW5hZ2VyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cGF5bWVudC1tYW5hZ2VyXFwvKD88cGF5bWVudE1hbmFnZXJJZD5bXjovP10rKSQvO1xuY29uc3QgUGF5bWVudGNyZWRlbnRpYWxwcm92aWRlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRva2VuLXZhdWx0XFwvKD88dG9rZW5WYXVsdElkPlteOi8/XSspXFwvcGF5bWVudGNyZWRlbnRpYWxwcm92aWRlclxcLyg/PG5hbWU+W146Lz9dKykkLztcbmNvbnN0IFBvbGljeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBvbGljeS1lbmdpbmVcXC8oPzxwb2xpY3lFbmdpbmVJZD5bXjovP10rKVxcL3BvbGljeVxcLyg/PHBvbGljeUlkPlteOi8/XSspJC87XG5jb25zdCBQb2xpY3lFbmdpbmVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwb2xpY3ktZW5naW5lXFwvKD88cG9saWN5RW5naW5lSWQ+W146Lz9dKykkLztcbmNvbnN0IFBvbGljeUdlbmVyYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwb2xpY3ktZW5naW5lXFwvKD88cG9saWN5RW5naW5lSWQ+W146Lz9dKylcXC9wb2xpY3ktZ2VuZXJhdGlvblxcLyg/PHBvbGljeUdlbmVyYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgUmVjb21tZW5kYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZWNvbW1lbmRhdGlvblxcLyg/PHJlY29tbWVuZGF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlZ2lzdHJ5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVnaXN0cnlcXC8oPzxyZWdpc3RyeUlkPlteOi8/XSspJC87XG5jb25zdCBSZWdpc3RyeVJlY29yZEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlZ2lzdHJ5XFwvKD88cmVnaXN0cnlJZD5bXjovP10rKVxcL3JlY29yZFxcLyg/PHJlY29yZElkPlteOi8/XSspJC87XG5jb25zdCBSdW50aW1lQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cnVudGltZVxcLyg/PHJ1bnRpbWVJZD5bXjovP10rKSQvO1xuY29uc3QgUnVudGltZUVuZHBvaW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cnVudGltZVxcLyg/PHJ1bnRpbWVJZD5bXjovP10rKVxcL3J1bnRpbWUtZW5kcG9pbnRcXC8oPzxuYW1lPlteOi8/XSspJC87XG5jb25zdCBUb2tlblZhdWx0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dG9rZW4tdmF1bHRcXC8oPzx0b2tlblZhdWx0SWQ+W146Lz9dKykkLztcbmNvbnN0IFdlYlNlYXJjaEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRvb2xcXC93ZWItc2VhcmNoXFwudjEkLztcbmNvbnN0IFdvcmtsb2FkSWRlbnRpdHlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3JrbG9hZC1pZGVudGl0eS1kaXJlY3RvcnlcXC8oPzxkaXJlY3RvcnlJZD5bXjovP10rKVxcL3dvcmtsb2FkLWlkZW50aXR5XFwvKD88d29ya2xvYWRJZGVudGl0eU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFdvcmtsb2FkSWRlbnRpdHlEaXJlY3RvcnlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3JrbG9hZC1pZGVudGl0eS1kaXJlY3RvcnlcXC8oPzxkaXJlY3RvcnlJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGJlZHJvY2stYWdlbnRjb3JlIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEJlZHJvY2tBZ2VudGNvcmVSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFiLXRlc3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWJUZXN0KHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlQWJUZXN0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFiLXRlc3QvJHtwcm9wcy5hYlRlc3RJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWItdGVzdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWJUZXN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFiVGVzdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhYi10ZXN0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFiVGVzdEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tBZ2VudGNvcmVBYlRlc3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFiVGVzdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhYi10ZXN0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFiVGVzdElkOiBtYXRjaC5ncm91cHMhLmFiVGVzdElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFwaWtleWNyZWRlbnRpYWxwcm92aWRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcGlrZXljcmVkZW50aWFscHJvdmlkZXIoXG5cdFx0cHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVBcGlrZXljcmVkZW50aWFscHJvdmlkZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0b2tlbi12YXVsdC8ke3Byb3BzLnRva2VuVmF1bHRJZH0vYXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyLyR7cHJvcHMubmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcGlrZXljcmVkZW50aWFscHJvdmlkZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwaWtleWNyZWRlbnRpYWxwcm92aWRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcGlrZXljcmVkZW50aWFscHJvdmlkZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVBcGlrZXljcmVkZW50aWFscHJvdmlkZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFwaWtleWNyZWRlbnRpYWxwcm92aWRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcGlrZXljcmVkZW50aWFscHJvdmlkZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dG9rZW5WYXVsdElkOiBtYXRjaC5ncm91cHMhLnRva2VuVmF1bHRJZCxcblx0XHRcdG5hbWU6IG1hdGNoLmdyb3VwcyEubmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBiYXRjaC1ldmFsdWF0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBiYXRjaEV2YWx1YXRlKHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlQmF0Y2hFdmFsdWF0ZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpiYXRjaC1ldmFsdWF0ZS8ke3Byb3BzLmJhdGNoRXZhbHVhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBiYXRjaC1ldmFsdWF0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQmF0Y2hFdmFsdWF0ZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCYXRjaEV2YWx1YXRlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGJhdGNoLWV2YWx1YXRlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJhdGNoRXZhbHVhdGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVCYXRjaEV2YWx1YXRlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCYXRjaEV2YWx1YXRlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJhdGNoLWV2YWx1YXRlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGJhdGNoRXZhbHVhdGlvbklkOiBtYXRjaC5ncm91cHMhLmJhdGNoRXZhbHVhdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJyb3dzZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYnJvd3Nlcihwcm9wczogQmVkcm9ja0FnZW50Y29yZUJyb3dzZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OmF3czpicm93c2VyLyR7cHJvcHMuYnJvd3NlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBicm93c2VyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCcm93c2VyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJyb3dzZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYnJvd3NlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCcm93c2VyQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0FnZW50Y29yZUJyb3dzZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJyb3dzZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYnJvd3NlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRicm93c2VySWQ6IG1hdGNoLmdyb3VwcyEuYnJvd3NlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJyb3dzZXItY3VzdG9tIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJyb3dzZXJDdXN0b20ocHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVCcm93c2VyQ3VzdG9tQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmJyb3dzZXItY3VzdG9tLyR7cHJvcHMuYnJvd3NlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBicm93c2VyLWN1c3RvbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQnJvd3NlckN1c3RvbUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCcm93c2VyQ3VzdG9tQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGJyb3dzZXItY3VzdG9tIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJyb3dzZXJDdXN0b21Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVCcm93c2VyQ3VzdG9tQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCcm93c2VyQ3VzdG9tQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJyb3dzZXItY3VzdG9tIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGJyb3dzZXJJZDogbWF0Y2guZ3JvdXBzIS5icm93c2VySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYnJvd3Nlci1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJyb3dzZXJQcm9maWxlKHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlQnJvd3NlclByb2ZpbGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YnJvd3Nlci1wcm9maWxlLyR7cHJvcHMuYnJvd3NlclByb2ZpbGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYnJvd3Nlci1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCcm93c2VyUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCcm93c2VyUHJvZmlsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBicm93c2VyLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQnJvd3NlclByb2ZpbGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVCcm93c2VyUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQnJvd3NlclByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYnJvd3Nlci1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGJyb3dzZXJQcm9maWxlSWQ6IG1hdGNoLmdyb3VwcyEuYnJvd3NlclByb2ZpbGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjYXBhY2l0eS1wcm92aWRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjYXBhY2l0eVByb3ZpZGVyKFxuXHRcdHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlQ2FwYWNpdHlQcm92aWRlckFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhcGFjaXR5LXByb3ZpZGVyLyR7cHJvcHMuY2FwYWNpdHlQcm92aWRlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjYXBhY2l0eS1wcm92aWRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2FwYWNpdHlQcm92aWRlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDYXBhY2l0eVByb3ZpZGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNhcGFjaXR5LXByb3ZpZGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNhcGFjaXR5UHJvdmlkZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVDYXBhY2l0eVByb3ZpZGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDYXBhY2l0eVByb3ZpZGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNhcGFjaXR5LXByb3ZpZGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhcGFjaXR5UHJvdmlkZXJJZDogbWF0Y2guZ3JvdXBzIS5jYXBhY2l0eVByb3ZpZGVySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29kZS1pbnRlcnByZXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb2RlSW50ZXJwcmV0ZXIoXG5cdFx0cHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVDb2RlSW50ZXJwcmV0ZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06YXdzOmNvZGUtaW50ZXJwcmV0ZXIvJHtwcm9wcy5jb2RlSW50ZXJwcmV0ZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29kZS1pbnRlcnByZXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29kZUludGVycHJldGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvZGVJbnRlcnByZXRlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb2RlLWludGVycHJldGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvZGVJbnRlcnByZXRlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FnZW50Y29yZUNvZGVJbnRlcnByZXRlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29kZUludGVycHJldGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvZGUtaW50ZXJwcmV0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29kZUludGVycHJldGVySWQ6IG1hdGNoLmdyb3VwcyEuY29kZUludGVycHJldGVySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29kZS1pbnRlcnByZXRlci1jdXN0b20gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29kZUludGVycHJldGVyQ3VzdG9tKFxuXHRcdHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlQ29kZUludGVycHJldGVyQ3VzdG9tQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29kZS1pbnRlcnByZXRlci1jdXN0b20vJHtwcm9wcy5jb2RlSW50ZXJwcmV0ZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29kZS1pbnRlcnByZXRlci1jdXN0b20gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvZGVJbnRlcnByZXRlckN1c3RvbUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb2RlSW50ZXJwcmV0ZXJDdXN0b21Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29kZS1pbnRlcnByZXRlci1jdXN0b20gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29kZUludGVycHJldGVyQ3VzdG9tQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlQ29kZUludGVycHJldGVyQ3VzdG9tQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb2RlSW50ZXJwcmV0ZXJDdXN0b21Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29kZS1pbnRlcnByZXRlci1jdXN0b20gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29kZUludGVycHJldGVySWQ6IG1hdGNoLmdyb3VwcyEuY29kZUludGVycHJldGVySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29uZmlndXJhdGlvbi1idW5kbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29uZmlndXJhdGlvbkJ1bmRsZShcblx0XHRwcm9wczogQmVkcm9ja0FnZW50Y29yZUNvbmZpZ3VyYXRpb25CdW5kbGVBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25maWd1cmF0aW9uLWJ1bmRsZS8ke3Byb3BzLmNvbmZpZ3VyYXRpb25CdW5kbGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29uZmlndXJhdGlvbi1idW5kbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbmZpZ3VyYXRpb25CdW5kbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29uZmlndXJhdGlvbkJ1bmRsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb25maWd1cmF0aW9uLWJ1bmRsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25maWd1cmF0aW9uQnVuZGxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlQ29uZmlndXJhdGlvbkJ1bmRsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29uZmlndXJhdGlvbkJ1bmRsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25maWd1cmF0aW9uLWJ1bmRsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb25maWd1cmF0aW9uQnVuZGxlSWQ6IG1hdGNoLmdyb3VwcyEuY29uZmlndXJhdGlvbkJ1bmRsZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGFzZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YXNldChwcm9wczogQmVkcm9ja0FnZW50Y29yZURhdGFzZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YXNldC8ke3Byb3BzLmRhdGFzZXRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YXNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YXNldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhc2V0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGFzZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YXNldEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tBZ2VudGNvcmVEYXRhc2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhc2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhdGFzZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGF0YXNldElkOiBtYXRjaC5ncm91cHMhLmRhdGFzZXRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBldmFsdWF0b3IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXZhbHVhdG9yKHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlRXZhbHVhdG9yQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmV2YWx1YXRvci8ke3Byb3BzLmV2YWx1YXRvcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBldmFsdWF0b3IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV2YWx1YXRvckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFdmFsdWF0b3JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXZhbHVhdG9yIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV2YWx1YXRvckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FnZW50Y29yZUV2YWx1YXRvckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXZhbHVhdG9yQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV2YWx1YXRvciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRldmFsdWF0b3JJZDogbWF0Y2guZ3JvdXBzIS5ldmFsdWF0b3JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBnYXRld2F5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGdhdGV3YXkocHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVHYXRld2F5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmdhdGV3YXkvJHtwcm9wcy5nYXRld2F5SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGdhdGV3YXkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEdhdGV3YXlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gR2F0ZXdheUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBnYXRld2F5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUdhdGV3YXlBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQWdlbnRjb3JlR2F0ZXdheUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gR2F0ZXdheUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBnYXRld2F5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGdhdGV3YXlJZDogbWF0Y2guZ3JvdXBzIS5nYXRld2F5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaGFybmVzcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBoYXJuZXNzKHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlSGFybmVzc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpoYXJuZXNzLyR7cHJvcHMuaGFybmVzc0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBoYXJuZXNzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIYXJuZXNzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEhhcm5lc3NBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaGFybmVzcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIYXJuZXNzQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0FnZW50Y29yZUhhcm5lc3NBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEhhcm5lc3NBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaGFybmVzcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRoYXJuZXNzSWQ6IG1hdGNoLmdyb3VwcyEuaGFybmVzc0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGhhcm5lc3MtZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaGFybmVzc0VuZHBvaW50KFxuXHRcdHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlSGFybmVzc0VuZHBvaW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aGFybmVzcy8ke3Byb3BzLmhhcm5lc3NJZH0vaGFybmVzcy1lbmRwb2ludC8ke3Byb3BzLm5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGhhcm5lc3MtZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEhhcm5lc3NFbmRwb2ludEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIYXJuZXNzRW5kcG9pbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaGFybmVzcy1lbmRwb2ludCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIYXJuZXNzRW5kcG9pbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVIYXJuZXNzRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEhhcm5lc3NFbmRwb2ludEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBoYXJuZXNzLWVuZHBvaW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGhhcm5lc3NJZDogbWF0Y2guZ3JvdXBzIS5oYXJuZXNzSWQsXG5cdFx0XHRuYW1lOiBtYXRjaC5ncm91cHMhLm5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbWVtb3J5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1lbW9yeShwcm9wczogQmVkcm9ja0FnZW50Y29yZU1lbW9yeUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptZW1vcnkvJHtwcm9wcy5tZW1vcnlJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbWVtb3J5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNZW1vcnlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTWVtb3J5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1lbW9yeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNZW1vcnlBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQWdlbnRjb3JlTWVtb3J5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNZW1vcnlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWVtb3J5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1lbW9yeUlkOiBtYXRjaC5ncm91cHMhLm1lbW9yeUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG9hdXRoMmNyZWRlbnRpYWxwcm92aWRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvYXV0aDJjcmVkZW50aWFscHJvdmlkZXIoXG5cdFx0cHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVPYXV0aDJjcmVkZW50aWFscHJvdmlkZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0b2tlbi12YXVsdC8ke3Byb3BzLnRva2VuVmF1bHRJZH0vb2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyLyR7cHJvcHMubmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgb2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPYXV0aDJjcmVkZW50aWFscHJvdmlkZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG9hdXRoMmNyZWRlbnRpYWxwcm92aWRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPYXV0aDJjcmVkZW50aWFscHJvdmlkZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVPYXV0aDJjcmVkZW50aWFscHJvdmlkZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9hdXRoMmNyZWRlbnRpYWxwcm92aWRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvYXV0aDJjcmVkZW50aWFscHJvdmlkZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dG9rZW5WYXVsdElkOiBtYXRjaC5ncm91cHMhLnRva2VuVmF1bHRJZCxcblx0XHRcdG5hbWU6IG1hdGNoLmdyb3VwcyEubmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBvbmxpbmUtZXZhbHVhdGlvbi1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgb25saW5lRXZhbHVhdGlvbkNvbmZpZyhcblx0XHRwcm9wczogQmVkcm9ja0FnZW50Y29yZU9ubGluZUV2YWx1YXRpb25Db25maWdBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpvbmxpbmUtZXZhbHVhdGlvbi1jb25maWcvJHtwcm9wcy5vbmxpbmVFdmFsdWF0aW9uQ29uZmlnSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG9ubGluZS1ldmFsdWF0aW9uLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT25saW5lRXZhbHVhdGlvbkNvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBPbmxpbmVFdmFsdWF0aW9uQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG9ubGluZS1ldmFsdWF0aW9uLWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPbmxpbmVFdmFsdWF0aW9uQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlT25saW5lRXZhbHVhdGlvbkNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT25saW5lRXZhbHVhdGlvbkNvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvbmxpbmUtZXZhbHVhdGlvbi1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0b25saW5lRXZhbHVhdGlvbkNvbmZpZ0lkOiBtYXRjaC5ncm91cHMhLm9ubGluZUV2YWx1YXRpb25Db25maWdJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwYXltZW50LW1hbmFnZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGF5bWVudE1hbmFnZXIocHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVQYXltZW50TWFuYWdlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwYXltZW50LW1hbmFnZXIvJHtwcm9wcy5wYXltZW50TWFuYWdlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwYXltZW50LW1hbmFnZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBheW1lbnRNYW5hZ2VyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBheW1lbnRNYW5hZ2VyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBheW1lbnQtbWFuYWdlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQYXltZW50TWFuYWdlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FnZW50Y29yZVBheW1lbnRNYW5hZ2VyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQYXltZW50TWFuYWdlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwYXltZW50LW1hbmFnZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cGF5bWVudE1hbmFnZXJJZDogbWF0Y2guZ3JvdXBzIS5wYXltZW50TWFuYWdlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBheW1lbnRjcmVkZW50aWFscHJvdmlkZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGF5bWVudGNyZWRlbnRpYWxwcm92aWRlcihcblx0XHRwcm9wczogQmVkcm9ja0FnZW50Y29yZVBheW1lbnRjcmVkZW50aWFscHJvdmlkZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0b2tlbi12YXVsdC8ke3Byb3BzLnRva2VuVmF1bHRJZH0vcGF5bWVudGNyZWRlbnRpYWxwcm92aWRlci8ke3Byb3BzLm5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBheW1lbnRjcmVkZW50aWFscHJvdmlkZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBheW1lbnRjcmVkZW50aWFscHJvdmlkZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUGF5bWVudGNyZWRlbnRpYWxwcm92aWRlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwYXltZW50Y3JlZGVudGlhbHByb3ZpZGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBheW1lbnRjcmVkZW50aWFscHJvdmlkZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVQYXltZW50Y3JlZGVudGlhbHByb3ZpZGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQYXltZW50Y3JlZGVudGlhbHByb3ZpZGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBheW1lbnRjcmVkZW50aWFscHJvdmlkZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dG9rZW5WYXVsdElkOiBtYXRjaC5ncm91cHMhLnRva2VuVmF1bHRJZCxcblx0XHRcdG5hbWU6IG1hdGNoLmdyb3VwcyEubmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcG9saWN5KHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlUG9saWN5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBvbGljeS1lbmdpbmUvJHtwcm9wcy5wb2xpY3lFbmdpbmVJZH0vcG9saWN5LyR7cHJvcHMucG9saWN5SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBvbGljeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUG9saWN5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBvbGljeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwb2xpY3kgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUG9saWN5QXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0FnZW50Y29yZVBvbGljeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUG9saWN5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBvbGljeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwb2xpY3lFbmdpbmVJZDogbWF0Y2guZ3JvdXBzIS5wb2xpY3lFbmdpbmVJZCxcblx0XHRcdHBvbGljeUlkOiBtYXRjaC5ncm91cHMhLnBvbGljeUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBvbGljeS1lbmdpbmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcG9saWN5RW5naW5lKHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlUG9saWN5RW5naW5lQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBvbGljeS1lbmdpbmUvJHtwcm9wcy5wb2xpY3lFbmdpbmVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcG9saWN5LWVuZ2luZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUG9saWN5RW5naW5lQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBvbGljeUVuZ2luZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwb2xpY3ktZW5naW5lIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBvbGljeUVuZ2luZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FnZW50Y29yZVBvbGljeUVuZ2luZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUG9saWN5RW5naW5lQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBvbGljeS1lbmdpbmUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cG9saWN5RW5naW5lSWQ6IG1hdGNoLmdyb3VwcyEucG9saWN5RW5naW5lSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcG9saWN5LWdlbmVyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcG9saWN5R2VuZXJhdGlvbihcblx0XHRwcm9wczogQmVkcm9ja0FnZW50Y29yZVBvbGljeUdlbmVyYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwb2xpY3ktZW5naW5lLyR7cHJvcHMucG9saWN5RW5naW5lSWR9L3BvbGljeS1nZW5lcmF0aW9uLyR7cHJvcHMucG9saWN5R2VuZXJhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwb2xpY3ktZ2VuZXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUG9saWN5R2VuZXJhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQb2xpY3lHZW5lcmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBvbGljeS1nZW5lcmF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBvbGljeUdlbmVyYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVQb2xpY3lHZW5lcmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQb2xpY3lHZW5lcmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBvbGljeS1nZW5lcmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBvbGljeUVuZ2luZUlkOiBtYXRjaC5ncm91cHMhLnBvbGljeUVuZ2luZUlkLFxuXHRcdFx0cG9saWN5R2VuZXJhdGlvbklkOiBtYXRjaC5ncm91cHMhLnBvbGljeUdlbmVyYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZWNvbW1lbmRhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWNvbW1lbmRhdGlvbihwcm9wczogQmVkcm9ja0FnZW50Y29yZVJlY29tbWVuZGF0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlY29tbWVuZGF0aW9uLyR7cHJvcHMucmVjb21tZW5kYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVjb21tZW5kYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlY29tbWVuZGF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY29tbWVuZGF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlY29tbWVuZGF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlY29tbWVuZGF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlUmVjb21tZW5kYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlY29tbWVuZGF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlY29tbWVuZGF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlY29tbWVuZGF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEucmVjb21tZW5kYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZWdpc3RyeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWdpc3RyeShwcm9wczogQmVkcm9ja0FnZW50Y29yZVJlZ2lzdHJ5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlZ2lzdHJ5LyR7cHJvcHMucmVnaXN0cnlJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVnaXN0cnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlZ2lzdHJ5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlZ2lzdHJ5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlZ2lzdHJ5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlZ2lzdHJ5QXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0FnZW50Y29yZVJlZ2lzdHJ5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWdpc3RyeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZWdpc3RyeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWdpc3RyeUlkOiBtYXRjaC5ncm91cHMhLnJlZ2lzdHJ5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVnaXN0cnktcmVjb3JkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlZ2lzdHJ5UmVjb3JkKHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlUmVnaXN0cnlSZWNvcmRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVnaXN0cnkvJHtwcm9wcy5yZWdpc3RyeUlkfS9yZWNvcmQvJHtwcm9wcy5yZWNvcmRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVnaXN0cnktcmVjb3JkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWdpc3RyeVJlY29yZEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWdpc3RyeVJlY29yZEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWdpc3RyeS1yZWNvcmQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVnaXN0cnlSZWNvcmRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVSZWdpc3RyeVJlY29yZEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVnaXN0cnlSZWNvcmRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVnaXN0cnktcmVjb3JkIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlZ2lzdHJ5SWQ6IG1hdGNoLmdyb3VwcyEucmVnaXN0cnlJZCxcblx0XHRcdHJlY29yZElkOiBtYXRjaC5ncm91cHMhLnJlY29yZElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJ1bnRpbWUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcnVudGltZShwcm9wczogQmVkcm9ja0FnZW50Y29yZVJ1bnRpbWVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cnVudGltZS8ke3Byb3BzLnJ1bnRpbWVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcnVudGltZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUnVudGltZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSdW50aW1lQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJ1bnRpbWUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUnVudGltZUFybihhcm46IHN0cmluZyk6IEJlZHJvY2tBZ2VudGNvcmVSdW50aW1lQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSdW50aW1lQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJ1bnRpbWUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cnVudGltZUlkOiBtYXRjaC5ncm91cHMhLnJ1bnRpbWVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBydW50aW1lLWVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJ1bnRpbWVFbmRwb2ludChcblx0XHRwcm9wczogQmVkcm9ja0FnZW50Y29yZVJ1bnRpbWVFbmRwb2ludEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJ1bnRpbWUvJHtwcm9wcy5ydW50aW1lSWR9L3J1bnRpbWUtZW5kcG9pbnQvJHtwcm9wcy5uYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBydW50aW1lLWVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSdW50aW1lRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUnVudGltZUVuZHBvaW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJ1bnRpbWUtZW5kcG9pbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUnVudGltZUVuZHBvaW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlUnVudGltZUVuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSdW50aW1lRW5kcG9pbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcnVudGltZS1lbmRwb2ludCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRydW50aW1lSWQ6IG1hdGNoLmdyb3VwcyEucnVudGltZUlkLFxuXHRcdFx0bmFtZTogbWF0Y2guZ3JvdXBzIS5uYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRva2VuLXZhdWx0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRva2VuVmF1bHQocHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVUb2tlblZhdWx0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRva2VuLXZhdWx0LyR7cHJvcHMudG9rZW5WYXVsdElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0b2tlbi12YXVsdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVG9rZW5WYXVsdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUb2tlblZhdWx0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRva2VuLXZhdWx0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRva2VuVmF1bHRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVUb2tlblZhdWx0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUb2tlblZhdWx0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRva2VuLXZhdWx0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRva2VuVmF1bHRJZDogbWF0Y2guZ3JvdXBzIS50b2tlblZhdWx0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd2ViLXNlYXJjaCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3ZWJTZWFyY2gocHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVXZWJTZWFyY2hBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dG9vbC93ZWItc2VhcmNoLnYxYDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdlYi1zZWFyY2ggcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdlYlNlYXJjaEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXZWJTZWFyY2hBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgd2ViLXNlYXJjaCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXZWJTZWFyY2hBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVXZWJTZWFyY2hBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdlYlNlYXJjaEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3ZWItc2VhcmNoIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3JrbG9hZC1pZGVudGl0eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3JrbG9hZElkZW50aXR5KFxuXHRcdHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlV29ya2xvYWRJZGVudGl0eUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Ondvcmtsb2FkLWlkZW50aXR5LWRpcmVjdG9yeS8ke3Byb3BzLmRpcmVjdG9yeUlkfS93b3JrbG9hZC1pZGVudGl0eS8ke3Byb3BzLndvcmtsb2FkSWRlbnRpdHlOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3b3JrbG9hZC1pZGVudGl0eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV29ya2xvYWRJZGVudGl0eUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3JrbG9hZElkZW50aXR5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdvcmtsb2FkLWlkZW50aXR5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtsb2FkSWRlbnRpdHlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVXb3JrbG9hZElkZW50aXR5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3JrbG9hZElkZW50aXR5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmtsb2FkLWlkZW50aXR5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRpcmVjdG9yeUlkOiBtYXRjaC5ncm91cHMhLmRpcmVjdG9yeUlkLFxuXHRcdFx0d29ya2xvYWRJZGVudGl0eU5hbWU6IG1hdGNoLmdyb3VwcyEud29ya2xvYWRJZGVudGl0eU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd29ya2xvYWQtaWRlbnRpdHktZGlyZWN0b3J5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmtsb2FkSWRlbnRpdHlEaXJlY3RvcnkoXG5cdFx0cHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVXb3JrbG9hZElkZW50aXR5RGlyZWN0b3J5QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya2xvYWQtaWRlbnRpdHktZGlyZWN0b3J5LyR7cHJvcHMuZGlyZWN0b3J5SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdvcmtsb2FkLWlkZW50aXR5LWRpcmVjdG9yeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV29ya2xvYWRJZGVudGl0eURpcmVjdG9yeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3JrbG9hZElkZW50aXR5RGlyZWN0b3J5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdvcmtsb2FkLWlkZW50aXR5LWRpcmVjdG9yeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXb3JrbG9hZElkZW50aXR5RGlyZWN0b3J5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlV29ya2xvYWRJZGVudGl0eURpcmVjdG9yeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV29ya2xvYWRJZGVudGl0eURpcmVjdG9yeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3b3JrbG9hZC1pZGVudGl0eS1kaXJlY3RvcnkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGlyZWN0b3J5SWQ6IG1hdGNoLmdyb3VwcyEuZGlyZWN0b3J5SWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgYmVkcm9jay1hZ2VudGNvcmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrQWdlbnRjb3JlT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZERhdGFzZXRFeGFtcGxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZERhdGFzZXRFeGFtcGxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpBZGREYXRhc2V0RXhhbXBsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hDcmVhdGVNZW1vcnlSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hDcmVhdGVNZW1vcnlSZWNvcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkJhdGNoQ3JlYXRlTWVtb3J5UmVjb3Jkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERlbGV0ZU1lbW9yeVJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZU1lbW9yeVJlY29yZHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6QmF0Y2hEZWxldGVNZW1vcnlSZWNvcmRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUHV0R2F0ZXdheVJhdGVMaW1pdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFB1dEdhdGV3YXlSYXRlTGltaXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkJhdGNoUHV0R2F0ZXdheVJhdGVMaW1pdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hVcGRhdGVNZW1vcnlSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hVcGRhdGVNZW1vcnlSZWNvcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkJhdGNoVXBkYXRlTWVtb3J5UmVjb3Jkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb21wbGV0ZVJlc291cmNlVG9rZW5BdXRoIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29tcGxldGVSZXNvdXJjZVRva2VuQXV0aDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDb21wbGV0ZVJlc291cmNlVG9rZW5BdXRoXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFCVGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFCVGVzdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVBQlRlc3RcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBZ2VudFJ1bnRpbWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudFJ1bnRpbWU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQWdlbnRSdW50aW1lXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVBZ2VudFJ1bnRpbWVFbmRwb2ludFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6UGFzc0NhcGFjaXR5UHJvdmlkZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWdlbnRSdW50aW1lRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudFJ1bnRpbWVFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVBZ2VudFJ1bnRpbWVFbmRwb2ludFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlclwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQnJvd3NlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJyb3dzZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQnJvd3NlclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCcm93c2VyUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJyb3dzZXJQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUJyb3dzZXJQcm9maWxlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDYXBhY2l0eVByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FwYWNpdHlQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVDYXBhY2l0eVByb3ZpZGVyXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvZGVJbnRlcnByZXRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvZGVJbnRlcnByZXRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVDb2RlSW50ZXJwcmV0ZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29uZmlndXJhdGlvbkJ1bmRsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb25CdW5kbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQ29uZmlndXJhdGlvbkJ1bmRsZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGF0YXNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFzZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlRGF0YXNldFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGF0YXNldFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhc2V0VmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVEYXRhc2V0VmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFdmFsdWF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmFsdWF0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlRXZhbHVhdG9yXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFdmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUV2ZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVHYXRld2F5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR2F0ZXdheTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN5bmNocm9uaXplR2F0ZXdheVRhcmdldHNcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUdhdGV3YXlSYXRlTGltaXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHYXRld2F5UmF0ZUxpbWl0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUdhdGV3YXlSYXRlTGltaXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlR2F0ZXdheVJ1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHYXRld2F5UnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5UnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVHYXRld2F5VGFyZ2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR2F0ZXdheVRhcmdldDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5VGFyZ2V0XCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTeW5jaHJvbml6ZUdhdGV3YXlUYXJnZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUhhcm5lc3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIYXJuZXNzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUFnZW50UnVudGltZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlSGFybmVzc1wiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlTWVtb3J5XCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRNZW1vcnlcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSGFybmVzc0VuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSGFybmVzc0VuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUhhcm5lc3NFbmRwb2ludFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWVtb3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWVtb3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZU1lbW9yeVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBheW1lbnRDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXltZW50Q29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBheW1lbnRDb25uZWN0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlclwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGF5bWVudEluc3RydW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXltZW50SW5zdHJ1bWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQYXltZW50SW5zdHJ1bWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQYXltZW50TWFuYWdlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBheW1lbnRNYW5hZ2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBheW1lbnRNYW5hZ2VyXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBheW1lbnRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGF5bWVudFNlc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUGF5bWVudFNlc3Npb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUG9saWN5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUG9saWN5RW5naW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUG9saWN5RW5naW5lOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBvbGljeUVuZ2luZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWdpc3RyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVJlZ2lzdHJ5XCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWdpc3RyeVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJ5UmVjb3JkOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVJlZ2lzdHJ5UmVjb3JkXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtsb2FkSWRlbnRpdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrbG9hZElkZW50aXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVdvcmtsb2FkSWRlbnRpdHlcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFCVGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFCVGVzdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVBQlRlc3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50UnVudGltZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50UnVudGltZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVBZ2VudFJ1bnRpbWVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUFnZW50UnVudGltZUVuZHBvaW50XCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVXb3JrbG9hZElkZW50aXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50UnVudGltZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRSdW50aW1lRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQWdlbnRSdW50aW1lRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVCYXRjaEV2YWx1YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCYXRjaEV2YWx1YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQmF0Y2hFdmFsdWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUJyb3dzZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCcm93c2VyOiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUJyb3dzZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUJyb3dzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQnJvd3NlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQnJvd3NlclByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2FwYWNpdHlQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhcGFjaXR5UHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQ2FwYWNpdHlQcm92aWRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDYXBhY2l0eVByb3ZpZGVyU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhcGFjaXR5UHJvdmlkZXJTZXNzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUNhcGFjaXR5UHJvdmlkZXJTZXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvZGVJbnRlcnByZXRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvZGVJbnRlcnByZXRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVDb2RlSW50ZXJwcmV0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uZmlndXJhdGlvbkJ1bmRsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyYXRpb25CdW5kbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQ29uZmlndXJhdGlvbkJ1bmRsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYXRhc2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YXNldDogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVEYXRhc2V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYXRhc2V0RXhhbXBsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhc2V0RXhhbXBsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlRGF0YXNldEV4YW1wbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV2YWx1YXRvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2YWx1YXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVFdmFsdWF0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXZlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudDogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVFdmVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlR2F0ZXdheSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdhdGV3YXk6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlR2F0ZXdheVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlR2F0ZXdheVJhdGVMaW1pdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdhdGV3YXlSYXRlTGltaXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlR2F0ZXdheVJhdGVMaW1pdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVHYXRld2F5UnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdhdGV3YXlSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXlSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUdhdGV3YXlUYXJnZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHYXRld2F5VGFyZ2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXlUYXJnZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSGFybmVzcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUhhcm5lc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQWdlbnRSdW50aW1lXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVIYXJuZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUhhcm5lc3NFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUhhcm5lc3NFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVIYXJuZXNzRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTWVtb3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWVtb3J5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZU1lbW9yeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTWVtb3J5UmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWVtb3J5UmVjb3JkOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZU1lbW9yeVJlY29yZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU9ubGluZUV2YWx1YXRpb25Db25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZU9ubGluZUV2YWx1YXRpb25Db25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUGF5bWVudENvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBheW1lbnRDb25uZWN0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUGF5bWVudENvbm5lY3RvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBheW1lbnRJbnN0cnVtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGF5bWVudEluc3RydW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUGF5bWVudEluc3RydW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUGF5bWVudE1hbmFnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXltZW50TWFuYWdlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQYXltZW50TWFuYWdlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQYXltZW50U2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBheW1lbnRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVBheW1lbnRTZXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBvbGljeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBvbGljeUVuZ2luZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBvbGljeUVuZ2luZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQb2xpY3lFbmdpbmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb21tZW5kYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVSZWNvbW1lbmRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWdpc3RyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlZ2lzdHJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVJlZ2lzdHJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlZ2lzdHJ5UmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVnaXN0cnlSZWNvcmQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUmVnaXN0cnlSZWNvcmRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrbG9hZElkZW50aXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya2xvYWRJZGVudGl0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVXb3JrbG9hZElkZW50aXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV2YWx1YXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXZhbHVhdGU6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6RXZhbHVhdGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFCVGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QUJUZXN0OiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkdldEFCVGVzdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnRDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudENhcmQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6R2V0QWdlbnRDYXJkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudFJ1bnRpbWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50UnVudGltZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRBZ2VudFJ1bnRpbWVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnRSdW50aW1lRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50UnVudGltZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldEFnZW50UnVudGltZUVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFwaUtleUNyZWRlbnRpYWxQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldEFwaUtleUNyZWRlbnRpYWxQcm92aWRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCYXRjaEV2YWx1YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJhdGNoRXZhbHVhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRCYXRjaEV2YWx1YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QnJvd3NlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QnJvd3Nlcjogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRCcm93c2VyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCcm93c2VyUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QnJvd3NlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0QnJvd3NlclByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QnJvd3NlclNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJyb3dzZXJTZXNzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldEJyb3dzZXJTZXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENhcGFjaXR5UHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENhcGFjaXR5UHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0Q2FwYWNpdHlQcm92aWRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb2RlSW50ZXJwcmV0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvZGVJbnRlcnByZXRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRDb2RlSW50ZXJwcmV0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29kZUludGVycHJldGVyU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29kZUludGVycHJldGVyU2Vzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbmZpZ3VyYXRpb25CdW5kbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZpZ3VyYXRpb25CdW5kbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0Q29uZmlndXJhdGlvbkJ1bmRsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25maWd1cmF0aW9uQnVuZGxlVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29uZmlndXJhdGlvbkJ1bmRsZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0Q29uZmlndXJhdGlvbkJ1bmRsZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YXNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YXNldDogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpHZXREYXRhc2V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFdmFsdWF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV2YWx1YXRvcjogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRFdmFsdWF0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEV2ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFdmVudDogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRFdmVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0R2F0ZXdheSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0R2F0ZXdheTogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRHYXRld2F5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRHYXRld2F5UmF0ZUxpbWl0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRHYXRld2F5UmF0ZUxpbWl0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldEdhdGV3YXlSYXRlTGltaXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0R2F0ZXdheVJ1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEdhdGV3YXlSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldEdhdGV3YXlSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEdhdGV3YXlUYXJnZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEdhdGV3YXlUYXJnZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0R2F0ZXdheVRhcmdldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRIYXJuZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRIYXJuZXNzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkdldEhhcm5lc3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEhhcm5lc3NFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SGFybmVzc0VuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldEhhcm5lc3NFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNZW1vcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1lbW9yeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRNZW1vcnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1lbW9yeVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWVtb3J5UmVjb3JkOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldE1lbW9yeVJlY29yZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9hdXRoMkNyZWRlbnRpYWxQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0T25saW5lRXZhbHVhdGlvbkNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T25saW5lRXZhbHVhdGlvbkNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRPbmxpbmVFdmFsdWF0aW9uQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBheW1lbnRDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBheW1lbnRDb25uZWN0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UGF5bWVudENvbm5lY3RvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UGF5bWVudEluc3RydW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBheW1lbnRJbnN0cnVtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRJbnN0cnVtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBheW1lbnRJbnN0cnVtZW50QmFsYW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UGF5bWVudEluc3RydW1lbnRCYWxhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRJbnN0cnVtZW50QmFsYW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQYXltZW50TWFuYWdlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UGF5bWVudE1hbmFnZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UGF5bWVudE1hbmFnZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UGF5bWVudFNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBheW1lbnRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRTZXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UG9saWN5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UG9saWN5RW5naW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQb2xpY3lFbmdpbmU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5RW5naW5lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBvbGljeUVuZ2luZVN1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBvbGljeUVuZ2luZVN1bW1hcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5RW5naW5lU3VtbWFyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQb2xpY3lHZW5lcmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQb2xpY3lHZW5lcmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeUdlbmVyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UG9saWN5R2VuZXJhdGlvblN1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBvbGljeUdlbmVyYXRpb25TdW1tYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeUdlbmVyYXRpb25TdW1tYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBvbGljeVN1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBvbGljeVN1bW1hcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5U3VtbWFyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvbW1lbmRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVjb21tZW5kYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVnaXN0cnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlZ2lzdHJ5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlZ2lzdHJ5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWdpc3RyeVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVnaXN0cnlSZWNvcmQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVnaXN0cnlSZWNvcmRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VBcGlLZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlQXBpS2V5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlc291cmNlQXBpS2V5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlT2F1dGgyVG9rZW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlT2F1dGgyVG9rZW46IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVzb3VyY2VPYXV0aDJUb2tlblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXNvdXJjZVBheW1lbnRUb2tlbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VQYXltZW50VG9rZW46IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVzb3VyY2VQYXltZW50VG9rZW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlc291cmNlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFRva2VuVmF1bHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFRva2VuVmF1bHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0VG9rZW5WYXVsdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFdvcmtsb2FkQWNjZXNzVG9rZW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvckpXVCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvckpXVDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9ySldUXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JVc2VySWQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JVc2VySWQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvclVzZXJJZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRXb3JrbG9hZElkZW50aXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRXb3JrbG9hZElkZW50aXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFdvcmtsb2FkSWRlbnRpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlQWdlbnRSdW50aW1lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQWdlbnRSdW50aW1lOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lRm9yVXNlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VBZ2VudFJ1bnRpbWVDb21tYW5kIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQWdlbnRSdW50aW1lQ29tbWFuZDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVDb21tYW5kXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZUJyb3dzZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VCcm93c2VyOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VDb2RlSW50ZXJwcmV0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VDb2RlSW50ZXJwcmV0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQ29kZUludGVycHJldGVyXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTdGFydENvZGVJbnRlcnByZXRlclNlc3Npb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlSGFybmVzcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUhhcm5lc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VIYXJuZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBQlRlc3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFCVGVzdHM6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFCVGVzdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBY3RvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0b3JzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RBY3RvcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudFJ1bnRpbWVFbmRwb2ludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRSdW50aW1lRW5kcG9pbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RBZ2VudFJ1bnRpbWVFbmRwb2ludHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFnZW50UnVudGltZVZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50UnVudGltZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RBZ2VudFJ1bnRpbWVWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRSdW50aW1lVmVyc2lvbnNCeUNhcGFjaXR5UHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRSdW50aW1lVmVyc2lvbnNCeUNhcGFjaXR5UHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFnZW50UnVudGltZVZlcnNpb25zQnlDYXBhY2l0eVByb3ZpZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudFJ1bnRpbWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50UnVudGltZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFnZW50UnVudGltZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwaUtleUNyZWRlbnRpYWxQcm92aWRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QmF0Y2hFdmFsdWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCYXRjaEV2YWx1YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RCYXRjaEV2YWx1YXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCcm93c2VyUHJvZmlsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QnJvd3NlclByb2ZpbGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RCcm93c2VyUHJvZmlsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJyb3dzZXJTZXNzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCcm93c2VyU2Vzc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEJyb3dzZXJTZXNzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QnJvd3NlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QnJvd3NlcnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEJyb3dzZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2FwYWNpdHlQcm92aWRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2FwYWNpdHlQcm92aWRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdENhcGFjaXR5UHJvdmlkZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb2RlSW50ZXJwcmV0ZXJTZXNzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0Q29kZUludGVycHJldGVyU2Vzc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvZGVJbnRlcnByZXRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZUludGVycHJldGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0Q29kZUludGVycHJldGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29uZmlndXJhdGlvbkJ1bmRsZVZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyYXRpb25CdW5kbGVWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0Q29uZmlndXJhdGlvbkJ1bmRsZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25maWd1cmF0aW9uQnVuZGxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmF0aW9uQnVuZGxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0Q29uZmlndXJhdGlvbkJ1bmRsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFzZXRFeGFtcGxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhc2V0RXhhbXBsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdERhdGFzZXRFeGFtcGxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YXNldFZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFzZXRWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0RGF0YXNldFZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhc2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhc2V0czogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0RGF0YXNldHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFdmFsdWF0b3JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2YWx1YXRvcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEV2YWx1YXRvcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudHM6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEV2ZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEdhdGV3YXlSYXRlTGltaXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdhdGV3YXlSYXRlTGltaXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RHYXRld2F5UmF0ZUxpbWl0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R2F0ZXdheVJ1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdhdGV3YXlSdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0R2F0ZXdheVJ1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RHYXRld2F5VGFyZ2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHYXRld2F5VGFyZ2V0czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0R2F0ZXdheVRhcmdldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEdhdGV3YXlzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdhdGV3YXlzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RHYXRld2F5c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEhhcm5lc3NFbmRwb2ludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SGFybmVzc0VuZHBvaW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0SGFybmVzc0VuZHBvaW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SGFybmVzc1ZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEhhcm5lc3NWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0SGFybmVzc1ZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIYXJuZXNzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SGFybmVzc2VzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RIYXJuZXNzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNZW1vcmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZW1vcmllczogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0TWVtb3JpZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNZW1vcnlFeHRyYWN0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZW1vcnlFeHRyYWN0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0TWVtb3J5RXh0cmFjdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1lbW9yeVJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWVtb3J5UmVjb3Jkczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0TWVtb3J5UmVjb3Jkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0T2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPbmxpbmVFdmFsdWF0aW9uQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPbmxpbmVFdmFsdWF0aW9uQ29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0T25saW5lRXZhbHVhdGlvbkNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBheW1lbnRDb25uZWN0b3JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBheW1lbnRDb25uZWN0b3JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQYXltZW50Q29ubmVjdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGF5bWVudENyZWRlbnRpYWxQcm92aWRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGF5bWVudENyZWRlbnRpYWxQcm92aWRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQYXltZW50SW5zdHJ1bWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGF5bWVudEluc3RydW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQYXltZW50SW5zdHJ1bWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBheW1lbnRNYW5hZ2VycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXltZW50TWFuYWdlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBheW1lbnRNYW5hZ2Vyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGF5bWVudFNlc3Npb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBheW1lbnRTZXNzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UGF5bWVudFNlc3Npb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY2llczogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWNpZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQb2xpY3lFbmdpbmVTdW1tYXJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9saWN5RW5naW5lU3VtbWFyaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lFbmdpbmVTdW1tYXJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBvbGljeUVuZ2luZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9saWN5RW5naW5lczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5RW5naW5lc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UG9saWN5R2VuZXJhdGlvbkFzc2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY3lHZW5lcmF0aW9uQXNzZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lHZW5lcmF0aW9uQXNzZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQb2xpY3lHZW5lcmF0aW9uU3VtbWFyaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBvbGljeUdlbmVyYXRpb25TdW1tYXJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBvbGljeUdlbmVyYXRpb25TdW1tYXJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBvbGljeUdlbmVyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBvbGljeUdlbmVyYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lHZW5lcmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UG9saWN5U3VtbWFyaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBvbGljeVN1bW1hcmllczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5U3VtbWFyaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlZ2lzdHJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVnaXN0cmllczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UmVnaXN0cmllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVnaXN0cnlSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlZ2lzdHJ5UmVjb3Jkczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UmVnaXN0cnlSZWNvcmRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXNzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0U2Vzc2lvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdvcmtsb2FkSWRlbnRpdGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXb3JrbG9hZElkZW50aXRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFdvcmtsb2FkSWRlbnRpdGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQcm9jZXNzUGF5bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFByb2Nlc3NQYXltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlByb2Nlc3NQYXltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6UHV0UmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmV0cmlldmVNZW1vcnlSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmVNZW1vcnlSZWNvcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlJldHJpZXZlTWVtb3J5UmVjb3Jkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTYXZlQnJvd3NlclNlc3Npb25Qcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2F2ZUJyb3dzZXJTZXNzaW9uUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTYXZlQnJvd3NlclNlc3Npb25Qcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlYXJjaFJlZ2lzdHJ5UmVjb3JkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFJlZ2lzdHJ5UmVjb3Jkczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTZWFyY2hSZWdpc3RyeVJlY29yZHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0VG9rZW5WYXVsdENNSyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0VG9rZW5WYXVsdENNSzogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTZXRUb2tlblZhdWx0Q01LXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0QmF0Y2hFdmFsdWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRCYXRjaEV2YWx1YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3RhcnRCYXRjaEV2YWx1YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRCcm93c2VyU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QnJvd3NlclNlc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3RhcnRCcm93c2VyU2Vzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydENvZGVJbnRlcnByZXRlclNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvZGVJbnRlcnByZXRlclNlc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3RhcnRDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWVtb3J5RXh0cmFjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWVtb3J5RXh0cmFjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTdGFydE1lbW9yeUV4dHJhY3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRQb2xpY3lHZW5lcmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQb2xpY3lHZW5lcmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN0YXJ0UG9saWN5R2VuZXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTdGFydFJlY29tbWVuZGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BCYXRjaEV2YWx1YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQmF0Y2hFdmFsdWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN0b3BCYXRjaEV2YWx1YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEJyb3dzZXJTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEJyb3dzZXJTZXNzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN0b3BCcm93c2VyU2Vzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQ29kZUludGVycHJldGVyU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN0b3BDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BSdW50aW1lU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSdW50aW1lU2Vzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTdG9wUnVudGltZVNlc3Npb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3VibWl0UmVnaXN0cnlSZWNvcmRGb3JBcHByb3ZhbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFJlZ2lzdHJ5UmVjb3JkRm9yQXBwcm92YWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3VibWl0UmVnaXN0cnlSZWNvcmRGb3JBcHByb3ZhbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTeW5jaHJvbml6ZUdhdGV3YXlUYXJnZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3luY2hyb25pemVHYXRld2F5VGFyZ2V0czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTeW5jaHJvbml6ZUdhdGV3YXlUYXJnZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFCVGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFCVGVzdDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUFCVGVzdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBZ2VudFJ1bnRpbWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFJ1bnRpbWU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6UGFzc0NhcGFjaXR5UHJvdmlkZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQWdlbnRSdW50aW1lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50UnVudGltZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRSdW50aW1lRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQWdlbnRSdW50aW1lRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVCcm93c2VyU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQnJvd3NlclN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVCcm93c2VyU3RyZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNhcGFjaXR5UHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDYXBhY2l0eVByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUNhcGFjaXR5UHJvdmlkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29uZmlndXJhdGlvbkJ1bmRsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbmZpZ3VyYXRpb25CdW5kbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQ29uZmlndXJhdGlvbkJ1bmRsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEYXRhc2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YXNldDogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVEYXRhc2V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEYXRhc2V0RXhhbXBsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhc2V0RXhhbXBsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlRGF0YXNldEV4YW1wbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV2YWx1YXRvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV2YWx1YXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVFdmFsdWF0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlR2F0ZXdheSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUdhdGV3YXk6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVHYXRld2F5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUdhdGV3YXlSYXRlTGltaXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHYXRld2F5UmF0ZUxpbWl0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlSYXRlTGltaXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlR2F0ZXdheVJ1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHYXRld2F5UnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVHYXRld2F5UnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHYXRld2F5VGFyZ2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlR2F0ZXdheVRhcmdldDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTeW5jaHJvbml6ZUdhdGV3YXlUYXJnZXRzXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVHYXRld2F5VGFyZ2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUhhcm5lc3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVIYXJuZXNzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldE1lbW9yeVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVBZ2VudFJ1bnRpbWVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUhhcm5lc3NcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZU1lbW9yeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVIYXJuZXNzRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVIYXJuZXNzRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlSGFybmVzc0VuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1lbW9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1lbW9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZU1lbW9yeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU9ubGluZUV2YWx1YXRpb25Db25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQYXltZW50Q29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGF5bWVudENvbm5lY3Rvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVQYXltZW50Q29ubmVjdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGF5bWVudE1hbmFnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXltZW50TWFuYWdlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBheW1lbnRNYW5hZ2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBvbGljeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVBvbGljeUVuZ2luZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBvbGljeUVuZ2luZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVQb2xpY3lFbmdpbmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVnaXN0cnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWdpc3RyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVSZWdpc3RyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWdpc3RyeVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlZ2lzdHJ5UmVjb3JkOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlUmVnaXN0cnlSZWNvcmRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVnaXN0cnlSZWNvcmRTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWdpc3RyeVJlY29yZFN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVSZWdpc3RyeVJlY29yZFN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVXb3JrbG9hZElkZW50aXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya2xvYWRJZGVudGl0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVXb3JrbG9hZElkZW50aXR5XCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBiZWRyb2NrLWFnZW50Y29yZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEJlZHJvY2tBZ2VudGNvcmVDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEJhdGNoQ3JlYXRlTWVtb3J5UmVjb3JkcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaENyZWF0ZU1lbW9yeVJlY29yZHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOm5hbWVzcGFjZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQmF0Y2hVcGRhdGVNZW1vcnlSZWNvcmRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlTWVtb3J5UmVjb3Jkc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6bmFtZXNwYWNlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDb21wbGV0ZVJlc291cmNlVG9rZW5BdXRoIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlUmVzb3VyY2VUb2tlbkF1dGhDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9hdWRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9jbGllbnRfaWRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9pc3NcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9zY29wZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL3N1YlwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6dXNlcmlkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBZ2VudFJ1bnRpbWUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRSdW50aW1lQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpSdW50aW1lQXV0aG9yaXplclR5cGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOnNlY3VyaXR5R3JvdXBzXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpzdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBZ2VudFJ1bnRpbWVFbmRwb2ludCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudFJ1bnRpbWVFbmRwb2ludENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQnJvd3NlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCcm93c2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpzZWN1cml0eUdyb3Vwc1wiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6c3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQnJvd3NlclByb2ZpbGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQnJvd3NlclByb2ZpbGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNhcGFjaXR5UHJvdmlkZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FwYWNpdHlQcm92aWRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29kZUludGVycHJldGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvZGVJbnRlcnByZXRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6c2VjdXJpdHlHcm91cHNcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOnN1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURhdGFzZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YXNldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXZhbHVhdG9yIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2YWx1YXRvckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXZlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOmFjdG9ySWRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOnNlc3Npb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlR2F0ZXdheSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHYXRld2F5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIYXJuZXNzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUhhcm5lc3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUhhcm5lc3NFbmRwb2ludCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIYXJuZXNzRW5kcG9pbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1lbW9yeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNZW1vcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkttc0tleUFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9hdXRoMkNyZWRlbnRpYWxQcm92aWRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVBheW1lbnRNYW5hZ2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBheW1lbnRNYW5hZ2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEaXNjb3ZlcnlVcmxcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVBvbGljeUVuZ2luZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb2xpY3lFbmdpbmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVdvcmtsb2FkSWRlbnRpdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2xvYWRJZGVudGl0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlRXZlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXZlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOmFjdG9ySWRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOnNlc3Npb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0RXZlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RXZlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOmFjdG9ySWRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOnNlc3Npb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvckpXVCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9ySldUQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vYXVkXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vY2xpZW50X2lkXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vaXNzXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vc2NvcGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9zdWJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JVc2VySWQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvclVzZXJJZENvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJiZWRyb2NrLWFnZW50Y29yZTp1c2VyaWRcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RXZlbnRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOmFjdG9ySWRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOnNlc3Npb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdE1lbW9yeVJlY29yZHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbW9yeVJlY29yZHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOm5hbWVzcGFjZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6c3RyYXRlZ3lJZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFNlc3Npb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6YWN0b3JJZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0U3lzdGVtTG9nRXZlbnRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFN5c3RlbUxvZ0V2ZW50c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6cnVudGltZVNlc3Npb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmV0cmlldmVNZW1vcnlSZWNvcmRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJpZXZlTWVtb3J5UmVjb3Jkc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6bmFtZXNwYWNlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpzdHJhdGVneUlkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydE1lbW9yeUV4dHJhY3Rpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNZW1vcnlFeHRyYWN0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTphY3RvcklkXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpzZXNzaW9uSWRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOnN0cmF0ZWd5SWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQWdlbnRSdW50aW1lIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50UnVudGltZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6UnVudGltZUF1dGhvcml6ZXJUeXBlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpzZWN1cml0eUdyb3Vwc1wiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6c3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlUGF5bWVudE1hbmFnZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGF5bWVudE1hbmFnZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRpc2NvdmVyeVVybFwiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOkFsbG93ZWRRdWVyeVBhcmFtZXRlcnMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBTExPV0VEX1FVRVJZX1BBUkFNRVRFUlMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6QWxsb3dlZFF1ZXJ5UGFyYW1ldGVyc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6QWxsb3dlZFJlcXVlc3RIZWFkZXJzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQUxMT1dFRF9SRVFVRVNUX0hFQURFUlMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6QWxsb3dlZFJlcXVlc3RIZWFkZXJzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpBbGxvd2VkUmVzcG9uc2VIZWFkZXJzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQUxMT1dFRF9SRVNQT05TRV9IRUFERVJTID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkFsbG93ZWRSZXNwb25zZUhlYWRlcnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOkNyZWRlbnRpYWxQcm92aWRlclNjb3BlIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1JFREVOVElBTF9QUk9WSURFUl9TQ09QRSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVkZW50aWFsUHJvdmlkZXJTY29wZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6Q3JlZGVudGlhbFByb3ZpZGVyVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1JFREVOVElBTF9QUk9WSURFUl9UWVBFID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWRlbnRpYWxQcm92aWRlclR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOkRpc2NvdmVyeVVybCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRElTQ09WRVJZX1VSTCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RGlzY292ZXJ5VXJsXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpHYXRld2F5QXV0aG9yaXplclR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdBVEVXQVlfQVVUSE9SSVpFUl9UWVBFID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdhdGV3YXlBdXRob3JpemVyVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6SHR0cFRhcmdldENvbmZpZ3VyYXRpb25UeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBIVFRQX1RBUkdFVF9DT05GSUdVUkFUSU9OX1RZUEUgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SHR0cFRhcmdldENvbmZpZ3VyYXRpb25UeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vYXVkIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5CT1VORF9KV1RfQ0xBSU1fQVVEID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9hdWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9jbGllbnRfaWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IElOQk9VTkRfSldUX0NMQUlNX0NMSUVOVF9JRCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vY2xpZW50X2lkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vaXNzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTkJPVU5EX0pXVF9DTEFJTV9JU1MgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL2lzc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL3Njb3BlIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5CT1VORF9KV1RfQ0xBSU1fU0NPUEUgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL3Njb3BlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vc3ViIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTkJPVU5EX0pXVF9DTEFJTV9TVUIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL3N1YlwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6SW5mZXJlbmNlVGFyZ2V0Q29uZmlndXJhdGlvblR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IElORkVSRU5DRV9UQVJHRVRfQ09ORklHVVJBVElPTl9UWVBFID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluZmVyZW5jZVRhcmdldENvbmZpZ3VyYXRpb25UeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpLbXNLZXlBcm4gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEtNU19LRVlfQVJOID0gXCJiZWRyb2NrLWFnZW50Y29yZTpLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOk1jcFRhcmdldENvbmZpZ3VyYXRpb25UeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBNQ1BfVEFSR0VUX0NPTkZJR1VSQVRJT05fVFlQRSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpNY3BUYXJnZXRDb25maWd1cmF0aW9uVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6UG9saWN5RW5naW5lQXJuIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQT0xJQ1lfRU5HSU5FX0FSTiA9IFwiYmVkcm9jay1hZ2VudGNvcmU6UG9saWN5RW5naW5lQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpQb2xpY3lFbmdpbmVNb2RlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQT0xJQ1lfRU5HSU5FX01PREUgPSBcImJlZHJvY2stYWdlbnRjb3JlOlBvbGljeUVuZ2luZU1vZGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOlByaXZhdGVFbmRwb2ludFR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBSSVZBVEVfRU5EUE9JTlRfVFlQRSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpQcml2YXRlRW5kcG9pbnRUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpQcm90b2NvbFR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBST1RPQ09MX1RZUEUgPSBcImJlZHJvY2stYWdlbnRjb3JlOlByb3RvY29sVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6UmVzb3VyY2VDb25maWd1cmF0aW9uSWRlbnRpZmllciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVTT1VSQ0VfQ09ORklHVVJBVElPTl9JREVOVElGSUVSID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlJlc291cmNlQ29uZmlndXJhdGlvbklkZW50aWZpZXJcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOlJ1bnRpbWVBdXRob3JpemVyVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUlVOVElNRV9BVVRIT1JJWkVSX1RZUEUgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6UnVudGltZUF1dGhvcml6ZXJUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTphY3RvcklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBQ1RPUl9JRCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6YWN0b3JJZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6bmFtZXNwYWNlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBOQU1FU1BBQ0UgPSBcImJlZHJvY2stYWdlbnRjb3JlOm5hbWVzcGFjZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6cnVudGltZVNlc3Npb25JZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUlVOVElNRV9TRVNTSU9OX0lEID0gXCJiZWRyb2NrLWFnZW50Y29yZTpydW50aW1lU2Vzc2lvbklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpzZWN1cml0eUdyb3VwcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFQ1VSSVRZX0dST1VQUyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6c2VjdXJpdHlHcm91cHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOnNlc3Npb25JZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VTU0lPTl9JRCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6c2Vzc2lvbklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpzdHJhdGVneUlkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTVFJBVEVHWV9JRCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6c3RyYXRlZ3lJZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6c3VibmV0cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNVQk5FVFMgPSBcImJlZHJvY2stYWdlbnRjb3JlOnN1Ym5ldHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOnVzZXJpZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVVNFUklEID0gXCJiZWRyb2NrLWFnZW50Y29yZTp1c2VyaWRcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6QWxsb3dlZFF1ZXJ5UGFyYW1ldGVyc2AuXG5cdCAqL1xuXHRzdGF0aWMgYWxsb3dlZFF1ZXJ5UGFyYW1ldGVycyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpBbGxvd2VkUXVlcnlQYXJhbWV0ZXJzXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpBbGxvd2VkUmVxdWVzdEhlYWRlcnNgLlxuXHQgKi9cblx0c3RhdGljIGFsbG93ZWRSZXF1ZXN0SGVhZGVycyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpBbGxvd2VkUmVxdWVzdEhlYWRlcnNcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOkFsbG93ZWRSZXNwb25zZUhlYWRlcnNgLlxuXHQgKi9cblx0c3RhdGljIGFsbG93ZWRSZXNwb25zZUhlYWRlcnMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7XG5cdFx0XHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6QWxsb3dlZFJlc3BvbnNlSGVhZGVyc1wiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6Q3JlZGVudGlhbFByb3ZpZGVyU2NvcGVgLlxuXHQgKi9cblx0c3RhdGljIGNyZWRlbnRpYWxQcm92aWRlclNjb3BlKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWRlbnRpYWxQcm92aWRlclNjb3BlXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpDcmVkZW50aWFsUHJvdmlkZXJUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBjcmVkZW50aWFsUHJvdmlkZXJUeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlZGVudGlhbFByb3ZpZGVyVHlwZVwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6RGlzY292ZXJ5VXJsYC5cblx0ICovXG5cdHN0YXRpYyBkaXNjb3ZlcnlVUkwodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpEaXNjb3ZlcnlVcmxcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOkdhdGV3YXlBdXRob3JpemVyVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgZ2F0ZXdheUF1dGhvcml6ZXJUeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6R2F0ZXdheUF1dGhvcml6ZXJUeXBlXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpIdHRwVGFyZ2V0Q29uZmlndXJhdGlvblR5cGVgLlxuXHQgKi9cblx0c3RhdGljIGh0dHBUYXJnZXRDb25maWd1cmF0aW9uVHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2stYWdlbnRjb3JlOkh0dHBUYXJnZXRDb25maWd1cmF0aW9uVHlwZVwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL2F1ZGAuXG5cdCAqL1xuXHRzdGF0aWMgaW5ib3VuZEp3dENsYWltQXVkKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9hdWRcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9jbGllbnRfaWRgLlxuXHQgKi9cblx0c3RhdGljIGluYm91bmRKd3RDbGFpbUNsaWVudElkKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL2NsaWVudF9pZFwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL2lzc2AuXG5cdCAqL1xuXHRzdGF0aWMgaW5ib3VuZEp3dENsYWltSXNzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vaXNzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vc2NvcGVgLlxuXHQgKi9cblx0c3RhdGljIGluYm91bmRKd3RDbGFpbVNjb3BlKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9zY29wZVwiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL3N1YmAuXG5cdCAqL1xuXHRzdGF0aWMgaW5ib3VuZEp3dENsYWltU3ViKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vc3ViXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpJbmZlcmVuY2VUYXJnZXRDb25maWd1cmF0aW9uVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlVGFyZ2V0Q29uZmlndXJhdGlvblR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHtcblx0XHRcdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbmZlcmVuY2VUYXJnZXRDb25maWd1cmF0aW9uVHlwZVwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpLbXNLZXlBcm5gLlxuXHQgKi9cblx0c3RhdGljIGttc0tleUFSTih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2stYWdlbnRjb3JlOkttc0tleUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6TWNwVGFyZ2V0Q29uZmlndXJhdGlvblR5cGVgLlxuXHQgKi9cblx0c3RhdGljIG1jcFRhcmdldENvbmZpZ3VyYXRpb25UeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6TWNwVGFyZ2V0Q29uZmlndXJhdGlvblR5cGVcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOlBvbGljeUVuZ2luZUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgcG9saWN5RW5naW5lQVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpQb2xpY3lFbmdpbmVBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOlBvbGljeUVuZ2luZU1vZGVgLlxuXHQgKi9cblx0c3RhdGljIHBvbGljeUVuZ2luZU1vZGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2stYWdlbnRjb3JlOlBvbGljeUVuZ2luZU1vZGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOlByaXZhdGVFbmRwb2ludFR5cGVgLlxuXHQgKi9cblx0c3RhdGljIHByaXZhdGVFbmRwb2ludFR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2stYWdlbnRjb3JlOlByaXZhdGVFbmRwb2ludFR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOlByb3RvY29sVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgcHJvdG9jb2xUeXBlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6UHJvdG9jb2xUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpSZXNvdXJjZUNvbmZpZ3VyYXRpb25JZGVudGlmaWVyYC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZUNvbmZpZ3VyYXRpb25JZGVudGlmaWVyKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7XG5cdFx0XHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6UmVzb3VyY2VDb25maWd1cmF0aW9uSWRlbnRpZmllclwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpSdW50aW1lQXV0aG9yaXplclR5cGVgLlxuXHQgKi9cblx0c3RhdGljIHJ1bnRpbWVBdXRob3JpemVyVHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2stYWdlbnRjb3JlOlJ1bnRpbWVBdXRob3JpemVyVHlwZVwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6YWN0b3JJZGAuXG5cdCAqL1xuXHRzdGF0aWMgYWN0b3JJZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2stYWdlbnRjb3JlOmFjdG9ySWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOm5hbWVzcGFjZWAuXG5cdCAqL1xuXHRzdGF0aWMgbmFtZXNwYWNlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6bmFtZXNwYWNlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpydW50aW1lU2Vzc2lvbklkYC5cblx0ICovXG5cdHN0YXRpYyBydW50aW1lU2Vzc2lvbklkKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpydW50aW1lU2Vzc2lvbklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpzZWN1cml0eUdyb3Vwc2AuXG5cdCAqL1xuXHRzdGF0aWMgc2VjdXJpdHlHcm91cHMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7XG5cdFx0XHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6c2VjdXJpdHlHcm91cHNcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOnNlc3Npb25JZGAuXG5cdCAqL1xuXHRzdGF0aWMgc2Vzc2lvbklkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6c2Vzc2lvbklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpzdHJhdGVneUlkYC5cblx0ICovXG5cdHN0YXRpYyBzdHJhdGVneUlkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6c3RyYXRlZ3lJZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6c3VibmV0c2AuXG5cdCAqL1xuXHRzdGF0aWMgc3VibmV0cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6c3VibmV0c1wiOiB2YWx1ZXMgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOnVzZXJpZGAuXG5cdCAqL1xuXHRzdGF0aWMgdXNlcmlkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6dXNlcmlkXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
3169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay1hZ2VudGNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2JlZHJvY2stYWdlbnRjb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsd0RBQXdEO0FBQ3hELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLHVCQUF1Qjs7QUFBcEMsMERBZzVCQzs7O0FBLzRCQSw4QkFBOEI7QUFDZCxzQ0FBYyxHQUFHLG1CQUFtQixDQUFDO0FBRXJELG1EQUFtRDtBQUNuQywwQ0FBa0IsR0FBRyxzQ0FBc0MsQ0FBQztBQUM1RSxpRkFBaUY7QUFDakUseURBQWlDLEdBQ2hELHFEQUFxRCxDQUFDO0FBQ3ZELCtEQUErRDtBQUMvQyx1Q0FBZSxHQUFHLG1DQUFtQyxDQUFDO0FBQ3RFLHlEQUF5RDtBQUN6QyxnREFBd0IsR0FDdkMsNENBQTRDLENBQUM7QUFDOUMseURBQXlEO0FBQ3pDLGdEQUF3QixHQUN2Qyw0Q0FBNEMsQ0FBQztBQUM5QywwREFBMEQ7QUFDMUMsaURBQXlCLEdBQ3hDLDZDQUE2QyxDQUFDO0FBQy9DLHlEQUF5RDtBQUN6QyxnREFBd0IsR0FDdkMsNENBQTRDLENBQUM7QUFDOUMseURBQXlEO0FBQ3pDLGlEQUF5QixHQUN4Qyw2Q0FBNkMsQ0FBQztBQUMvQyw4REFBOEQ7QUFDOUMsc0RBQThCLEdBQzdDLGtEQUFrRCxDQUFDO0FBQ3BELDREQUE0RDtBQUM1QyxvREFBNEIsR0FDM0MsZ0RBQWdELENBQUM7QUFDbEQsNkNBQTZDO0FBQzdCLG9DQUFZLEdBQUcsZ0NBQWdDLENBQUM7QUFDaEUsbURBQW1EO0FBQ25DLDBDQUFrQixHQUFHLHNDQUFzQyxDQUFDO0FBQzVFLDJEQUEyRDtBQUMzQyxrREFBMEIsR0FDekMsOENBQThDLENBQUM7QUFDaEQsK0RBQStEO0FB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REFBMEQ7QUFDMUMsb0NBQVMsR0FBRyw2QkFBNkIsQ0FBQztBQUMxRCxpRUFBaUU7QUFDakQsNkNBQWtCLEdBQUcsb0NBQW9DLENBQUM7QUFDMUUsc0VBQXNFO0FBQ3RELDBDQUFlLEdBQUcsa0NBQWtDLENBQUM7QUFDckUsMERBQTBEO0FBQzFDLHFDQUFVLEdBQUcsNkJBQTZCLENBQUM7QUFDM0QsMkRBQTJEO0FBQzNDLHNDQUFXLEdBQUcsOEJBQThCLENBQUM7QUFDN0QsK0RBQStEO0FBQy9DLGtDQUFPLEdBQUcsMkJBQTJCLENBQUM7QUFDdEQsdURBQXVEO0FBQ3ZDLGlDQUFNLEdBQUcsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9iZWRyb2NrLWFnZW50Y29yZS5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgYmVkcm9jay1hZ2VudGNvcmUgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiYmVkcm9jay1hZ2VudGNvcmVcIjtcblxuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpBZGREYXRhc2V0RXhhbXBsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZERhdGFzZXRFeGFtcGxlcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6QWRkRGF0YXNldEV4YW1wbGVzXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIGJlZHJvY2stYWdlbnRjb3JlOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBiZWRyb2NrLWFnZW50Y29yZTpBdXRob3JpemVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEF1dGhvcml6ZUFjdGlvbiA9IFwiYmVkcm9jay1hZ2VudGNvcmU6QXV0aG9yaXplQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkJhdGNoQ3JlYXRlTWVtb3J5UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hDcmVhdGVNZW1vcnlSZWNvcmRzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkJhdGNoQ3JlYXRlTWVtb3J5UmVjb3Jkc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpCYXRjaERlbGV0ZU1lbW9yeVJlY29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlTWVtb3J5UmVjb3JkcyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpCYXRjaERlbGV0ZU1lbW9yeVJlY29yZHNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6QmF0Y2hQdXRHYXRld2F5UmF0ZUxpbWl0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hQdXRHYXRld2F5UmF0ZUxpbWl0cyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpCYXRjaFB1dEdhdGV3YXlSYXRlTGltaXRzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkJhdGNoVXBkYXRlTWVtb3J5UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hVcGRhdGVNZW1vcnlSZWNvcmRzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkJhdGNoVXBkYXRlTWVtb3J5UmVjb3Jkc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkNvbXBsZXRlUmVzb3VyY2VUb2tlbkF1dGggKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlUmVzb3VyY2VUb2tlbkF1dGggPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q29tcGxldGVSZXNvdXJjZVRva2VuQXV0aFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkNvbm5lY3RCcm93c2VyQXV0b21hdGlvblN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29ubmVjdEJyb3dzZXJBdXRvbWF0aW9uU3RyZWFtID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNvbm5lY3RCcm93c2VyQXV0b21hdGlvblN0cmVhbVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkNvbm5lY3RCcm93c2VyTGl2ZVZpZXdTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbm5lY3RCcm93c2VyTGl2ZVZpZXdTdHJlYW0gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q29ubmVjdEJyb3dzZXJMaXZlVmlld1N0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVBQlRlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFCVGVzdCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQUJUZXN0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUFnZW50UnVudGltZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRSdW50aW1lID0gXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVBZ2VudFJ1bnRpbWVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQWdlbnRSdW50aW1lRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50UnVudGltZUVuZHBvaW50ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUFnZW50UnVudGltZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVCcm93c2VyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCcm93c2VyID0gXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVCcm93c2VyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUJyb3dzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCcm93c2VyUHJvZmlsZSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVCcm93c2VyUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVDYXBhY2l0eVByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYXBhY2l0eVByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUNhcGFjaXR5UHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQ29kZUludGVycHJldGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2RlSW50ZXJwcmV0ZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQ29kZUludGVycHJldGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUNvbmZpZ3VyYXRpb25CdW5kbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb25CdW5kbGUgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQ29uZmlndXJhdGlvbkJ1bmRsZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVEYXRhc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhc2V0ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVEYXRhc2V0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZURhdGFzZXRWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhc2V0VmVyc2lvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVEYXRhc2V0VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVFdmFsdWF0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2YWx1YXRvciA9IFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlRXZhbHVhdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUV2ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlRXZlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlR2F0ZXdheSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR2F0ZXdheSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlR2F0ZXdheVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5UmF0ZUxpbWl0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHYXRld2F5UmF0ZUxpbWl0ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUdhdGV3YXlSYXRlTGltaXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlR2F0ZXdheVJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdhdGV3YXlSdWxlID0gXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5UnVsZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5VGFyZ2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHYXRld2F5VGFyZ2V0ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5VGFyZ2V0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUhhcm5lc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUhhcm5lc3MgPSBcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUhhcm5lc3NcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlSGFybmVzc0VuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIYXJuZXNzRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlSGFybmVzc0VuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZU1lbW9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWVtb3J5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVNZW1vcnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZU9ubGluZUV2YWx1YXRpb25Db25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9ubGluZUV2YWx1YXRpb25Db25maWcgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQYXltZW50Q29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXltZW50Q29ubmVjdG9yID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBheW1lbnRDb25uZWN0b3JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBheW1lbnRJbnN0cnVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXltZW50SW5zdHJ1bWVudCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQYXltZW50SW5zdHJ1bWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQYXltZW50TWFuYWdlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGF5bWVudE1hbmFnZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUGF5bWVudE1hbmFnZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUGF5bWVudFNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBheW1lbnRTZXNzaW9uID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBheW1lbnRTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUG9saWN5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUG9saWN5RW5naW5lICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb2xpY3lFbmdpbmUgPSBcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBvbGljeUVuZ2luZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVSZWdpc3RyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cnkgPSBcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVJlZ2lzdHJ5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVJlZ2lzdHJ5UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyeVJlY29yZCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVSZWdpc3RyeVJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVXb3JrbG9hZElkZW50aXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrbG9hZElkZW50aXR5ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVdvcmtsb2FkSWRlbnRpdHlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQUJUZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBQlRlc3QgPSBcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUFCVGVzdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVBZ2VudFJ1bnRpbWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50UnVudGltZSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQWdlbnRSdW50aW1lXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUFnZW50UnVudGltZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFJ1bnRpbWVFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVBZ2VudFJ1bnRpbWVFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQmF0Y2hFdmFsdWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCYXRjaEV2YWx1YXRpb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQmF0Y2hFdmFsdWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUJyb3dzZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJyb3dzZXIgPSBcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUJyb3dzZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQnJvd3NlclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJyb3dzZXJQcm9maWxlID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUJyb3dzZXJQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUNhcGFjaXR5UHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhcGFjaXR5UHJvdmlkZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQ2FwYWNpdHlQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVDYXBhY2l0eVByb3ZpZGVyU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FwYWNpdHlQcm92aWRlclNlc3Npb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQ2FwYWNpdHlQcm92aWRlclNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQ29kZUludGVycHJldGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb2RlSW50ZXJwcmV0ZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQ29kZUludGVycHJldGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUNvbmZpZ3VyYXRpb25CdW5kbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyYXRpb25CdW5kbGUgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQ29uZmlndXJhdGlvbkJ1bmRsZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVEYXRhc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhc2V0ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVEYXRhc2V0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZURhdGFzZXRFeGFtcGxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YXNldEV4YW1wbGVzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZURhdGFzZXRFeGFtcGxlc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVFdmFsdWF0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2YWx1YXRvciA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlRXZhbHVhdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUV2ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlRXZlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlR2F0ZXdheSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR2F0ZXdheSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlR2F0ZXdheVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVHYXRld2F5UmF0ZUxpbWl0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHYXRld2F5UmF0ZUxpbWl0ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXlSYXRlTGltaXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlR2F0ZXdheVJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdhdGV3YXlSdWxlID0gXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVHYXRld2F5UnVsZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVHYXRld2F5VGFyZ2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHYXRld2F5VGFyZ2V0ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVHYXRld2F5VGFyZ2V0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUhhcm5lc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUhhcm5lc3MgPSBcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUhhcm5lc3NcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlSGFybmVzc0VuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIYXJuZXNzRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlSGFybmVzc0VuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZU1lbW9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWVtb3J5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVNZW1vcnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlTWVtb3J5UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZW1vcnlSZWNvcmQgPSBcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZU1lbW9yeVJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9hdXRoMkNyZWRlbnRpYWxQcm92aWRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVBheW1lbnRDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBheW1lbnRDb25uZWN0b3IgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUGF5bWVudENvbm5lY3RvclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUGF5bWVudEluc3RydW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBheW1lbnRJbnN0cnVtZW50ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVBheW1lbnRJbnN0cnVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVBheW1lbnRNYW5hZ2VyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXltZW50TWFuYWdlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQYXltZW50TWFuYWdlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQYXltZW50U2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGF5bWVudFNlc3Npb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUGF5bWVudFNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQb2xpY3kgPSBcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQb2xpY3lFbmdpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBvbGljeUVuZ2luZSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUG9saWN5RW5naW5lXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVJlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRhdGlvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVSZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVSZWdpc3RyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVnaXN0cnkgPSBcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVJlZ2lzdHJ5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVJlZ2lzdHJ5UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyeVJlY29yZCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVSZWdpc3RyeVJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3kgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlV29ya2xvYWRJZGVudGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya2xvYWRJZGVudGl0eSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVXb3JrbG9hZElkZW50aXR5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkV2YWx1YXRlICovXG5cdHN0YXRpYyByZWFkb25seSBFdmFsdWF0ZSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6RXZhbHVhdGVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6R2F0ZXdheUFzc29jaWF0ZVdlYkFDTCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2F0ZXdheUFzc29jaWF0ZVdlYkFDTCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHYXRld2F5QXNzb2NpYXRlV2ViQUNMXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkdhdGV3YXlEaXNhc3NvY2lhdGVXZWJBQ0wgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdhdGV3YXlEaXNhc3NvY2lhdGVXZWJBQ0wgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2F0ZXdheURpc2Fzc29jaWF0ZVdlYkFDTFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdhdGV3YXlHZXRXZWJBQ0xGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2F0ZXdheUdldFdlYkFDTEZvclJlc291cmNlID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdhdGV3YXlHZXRXZWJBQ0xGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkdhdGV3YXlMaXN0UmVzb3VyY2VzRm9yV2ViQUNMICovXG5cdHN0YXRpYyByZWFkb25seSBHYXRld2F5TGlzdFJlc291cmNlc0ZvcldlYkFDTCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHYXRld2F5TGlzdFJlc291cmNlc0ZvcldlYkFDTFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldEFCVGVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QUJUZXN0ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRBQlRlc3RcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRBZ2VudENhcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50Q2FyZCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0QWdlbnRDYXJkXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0QWdlbnRSdW50aW1lICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFJ1bnRpbWUgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldEFnZW50UnVudGltZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldEFnZW50UnVudGltZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFJ1bnRpbWVFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRBZ2VudFJ1bnRpbWVFbmRwb2ludFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldEFwaUtleUNyZWRlbnRpYWxQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldEFwaUtleUNyZWRlbnRpYWxQcm92aWRlclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldEJhdGNoRXZhbHVhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmF0Y2hFdmFsdWF0aW9uID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldEJhdGNoRXZhbHVhdGlvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldEJyb3dzZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJyb3dzZXIgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldEJyb3dzZXJcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRCcm93c2VyUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QnJvd3NlclByb2ZpbGUgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0QnJvd3NlclByb2ZpbGVcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRCcm93c2VyU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QnJvd3NlclNlc3Npb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0QnJvd3NlclNlc3Npb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRDYXBhY2l0eVByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDYXBhY2l0eVByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldENhcGFjaXR5UHJvdmlkZXJcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRDb2RlSW50ZXJwcmV0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvZGVJbnRlcnByZXRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRDb2RlSW50ZXJwcmV0ZXJcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldENvZGVJbnRlcnByZXRlclNlc3Npb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRDb25maWd1cmF0aW9uQnVuZGxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25maWd1cmF0aW9uQnVuZGxlID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldENvbmZpZ3VyYXRpb25CdW5kbGVcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRDb25maWd1cmF0aW9uQnVuZGxlVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29uZmlndXJhdGlvbkJ1bmRsZVZlcnNpb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0Q29uZmlndXJhdGlvbkJ1bmRsZVZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXREYXRhc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhc2V0ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpHZXREYXRhc2V0XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0RXZhbHVhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFdmFsdWF0b3IgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldEV2YWx1YXRvclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldEV2ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFdmVudCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0RXZlbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRHYXRld2F5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRHYXRld2F5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRHYXRld2F5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0R2F0ZXdheVJhdGVMaW1pdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0R2F0ZXdheVJhdGVMaW1pdCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRHYXRld2F5UmF0ZUxpbWl0XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0R2F0ZXdheVJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEdhdGV3YXlSdWxlID0gXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRHYXRld2F5UnVsZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldEdhdGV3YXlUYXJnZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEdhdGV3YXlUYXJnZXQgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldEdhdGV3YXlUYXJnZXRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRIYXJuZXNzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRIYXJuZXNzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRIYXJuZXNzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0SGFybmVzc0VuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRIYXJuZXNzRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0SGFybmVzc0VuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0TWVtb3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNZW1vcnkgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldE1lbW9yeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldE1lbW9yeVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWVtb3J5UmVjb3JkID0gXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRNZW1vcnlSZWNvcmRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE9hdXRoMkNyZWRlbnRpYWxQcm92aWRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXJcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRPbmxpbmVFdmFsdWF0aW9uQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPbmxpbmVFdmFsdWF0aW9uQ29uZmlnID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldE9ubGluZUV2YWx1YXRpb25Db25maWdcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50Q29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXltZW50Q29ubmVjdG9yID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRDb25uZWN0b3JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50SW5zdHJ1bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGF5bWVudEluc3RydW1lbnQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UGF5bWVudEluc3RydW1lbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50SW5zdHJ1bWVudEJhbGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBheW1lbnRJbnN0cnVtZW50QmFsYW5jZSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50SW5zdHJ1bWVudEJhbGFuY2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50TWFuYWdlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGF5bWVudE1hbmFnZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UGF5bWVudE1hbmFnZXJcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50U2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGF5bWVudFNlc3Npb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UGF5bWVudFNlc3Npb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBvbGljeSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5RW5naW5lICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQb2xpY3lFbmdpbmUgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeUVuZ2luZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeUVuZ2luZVN1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBvbGljeUVuZ2luZVN1bW1hcnkgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5RW5naW5lU3VtbWFyeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeUdlbmVyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBvbGljeUdlbmVyYXRpb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UG9saWN5R2VuZXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeUdlbmVyYXRpb25TdW1tYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQb2xpY3lHZW5lcmF0aW9uU3VtbWFyeSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQb2xpY3lHZW5lcmF0aW9uU3VtbWFyeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeVN1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBvbGljeVN1bW1hcnkgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeVN1bW1hcnlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb21tZW5kYXRpb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVjb21tZW5kYXRpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRSZWdpc3RyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVnaXN0cnkgPSBcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlZ2lzdHJ5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVnaXN0cnlSZWNvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlZ2lzdHJ5UmVjb3JkID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlZ2lzdHJ5UmVjb3JkXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVzb3VyY2VBcGlLZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlQXBpS2V5ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlc291cmNlQXBpS2V5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVzb3VyY2VPYXV0aDJUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VPYXV0aDJUb2tlbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRSZXNvdXJjZU9hdXRoMlRva2VuXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVzb3VyY2VQYXltZW50VG9rZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUGF5bWVudFRva2VuID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlc291cmNlUGF5bWVudFRva2VuXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWN5ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jay1hZ2VudGNvcmU6R2V0VG9rZW5WYXVsdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VG9rZW5WYXVsdCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0VG9rZW5WYXVsdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRXb3JrbG9hZEFjY2Vzc1Rva2VuID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFdvcmtsb2FkQWNjZXNzVG9rZW5cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6R2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvckpXVCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvckpXVCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9ySldUXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JVc2VySWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JVc2VySWQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvclVzZXJJZFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkdldFdvcmtsb2FkSWRlbnRpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFdvcmtsb2FkSWRlbnRpdHkgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0V29ya2xvYWRJZGVudGl0eVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUFnZW50UnVudGltZSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUNvbW1hbmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUFnZW50UnVudGltZUNvbW1hbmQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lQ29tbWFuZFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVDb21tYW5kU2hlbGwgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUFnZW50UnVudGltZUNvbW1hbmRTaGVsbCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVDb21tYW5kU2hlbGxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lRm9yVXNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQWdlbnRSdW50aW1lRm9yVXNlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVGb3JVc2VyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZVdpdGhXZWJTb2NrZXRTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUFnZW50UnVudGltZVdpdGhXZWJTb2NrZXRTdHJlYW0gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lV2l0aFdlYlNvY2tldFN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVXaXRoV2ViU29ja2V0U3RyZWFtRm9yVXNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQWdlbnRSdW50aW1lV2l0aFdlYlNvY2tldFN0cmVhbUZvclVzZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lV2l0aFdlYlNvY2tldFN0cmVhbUZvclVzZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQ29kZUludGVycHJldGVyICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VDb2RlSW50ZXJwcmV0ZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQ29kZUludGVycHJldGVyXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUdhdGV3YXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUdhdGV3YXkgPSBcImJlZHJvY2stYWdlbnRjb3JlOkludm9rZUdhdGV3YXlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlSGFybmVzcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlSGFybmVzcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlSGFybmVzc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZVJlZ2lzdHJ5TWNwICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VSZWdpc3RyeU1jcCA9IFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlUmVnaXN0cnlNY3BcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlV2ViU2VhcmNoICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VXZWJTZWFyY2ggPSBcImJlZHJvY2stYWdlbnRjb3JlOkludm9rZVdlYlNlYXJjaFwiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RBQlRlc3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QUJUZXN0cyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFCVGVzdHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0QWN0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0b3JzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QWN0b3JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFnZW50UnVudGltZUVuZHBvaW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50UnVudGltZUVuZHBvaW50cyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QWdlbnRSdW50aW1lRW5kcG9pbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFnZW50UnVudGltZVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRSdW50aW1lVmVyc2lvbnMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFnZW50UnVudGltZVZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFnZW50UnVudGltZVZlcnNpb25zQnlDYXBhY2l0eVByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRSdW50aW1lVmVyc2lvbnNCeUNhcGFjaXR5UHJvdmlkZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFnZW50UnVudGltZVZlcnNpb25zQnlDYXBhY2l0eVByb3ZpZGVyXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFnZW50UnVudGltZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFJ1bnRpbWVzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QWdlbnRSdW50aW1lc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVycyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RCYXRjaEV2YWx1YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmF0Y2hFdmFsdWF0aW9ucyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QmF0Y2hFdmFsdWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RCcm93c2VyUHJvZmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCcm93c2VyUHJvZmlsZXMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RCcm93c2VyUHJvZmlsZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0QnJvd3NlclNlc3Npb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QnJvd3NlclNlc3Npb25zID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QnJvd3NlclNlc3Npb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEJyb3dzZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QnJvd3NlcnMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RCcm93c2Vyc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RDYXBhY2l0eVByb3ZpZGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhcGFjaXR5UHJvdmlkZXJzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RDYXBhY2l0eVByb3ZpZGVyc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RDb2RlSW50ZXJwcmV0ZXJTZXNzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvZGVJbnRlcnByZXRlclNlc3Npb25zID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RDb2RlSW50ZXJwcmV0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZUludGVycHJldGVycyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0Q29kZUludGVycHJldGVyc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RDb25maWd1cmF0aW9uQnVuZGxlVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmF0aW9uQnVuZGxlVmVyc2lvbnMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdENvbmZpZ3VyYXRpb25CdW5kbGVWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RDb25maWd1cmF0aW9uQnVuZGxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyYXRpb25CdW5kbGVzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RDb25maWd1cmF0aW9uQnVuZGxlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3REYXRhc2V0RXhhbXBsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhc2V0RXhhbXBsZXMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3REYXRhc2V0RXhhbXBsZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0RGF0YXNldFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YXNldFZlcnNpb25zID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0RGF0YXNldFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdERhdGFzZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YXNldHMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3REYXRhc2V0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RFdmFsdWF0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXZhbHVhdG9ycyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEV2YWx1YXRvcnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0RXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXZlbnRzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0RXZlbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEdhdGV3YXlSYXRlTGltaXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R2F0ZXdheVJhdGVMaW1pdHMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEdhdGV3YXlSYXRlTGltaXRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEdhdGV3YXlSdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdhdGV3YXlSdWxlcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEdhdGV3YXlSdWxlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RHYXRld2F5VGFyZ2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdhdGV3YXlUYXJnZXRzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0R2F0ZXdheVRhcmdldHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0R2F0ZXdheXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHYXRld2F5cyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEdhdGV3YXlzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEhhcm5lc3NFbmRwb2ludHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIYXJuZXNzRW5kcG9pbnRzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RIYXJuZXNzRW5kcG9pbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdEhhcm5lc3NWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEhhcm5lc3NWZXJzaW9ucyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEhhcm5lc3NWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RIYXJuZXNzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIYXJuZXNzZXMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RIYXJuZXNzZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0TWVtb3JpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZW1vcmllcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdE1lbW9yaWVzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdE1lbW9yeUV4dHJhY3Rpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWVtb3J5RXh0cmFjdGlvbkpvYnMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdE1lbW9yeUV4dHJhY3Rpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdE1lbW9yeVJlY29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZW1vcnlSZWNvcmRzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0TWVtb3J5UmVjb3Jkc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVycyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0T2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RPbmxpbmVFdmFsdWF0aW9uQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9ubGluZUV2YWx1YXRpb25Db25maWdzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RPbmxpbmVFdmFsdWF0aW9uQ29uZmlnc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RQYXltZW50Q29ubmVjdG9ycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBheW1lbnRDb25uZWN0b3JzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQYXltZW50Q29ubmVjdG9yc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RQYXltZW50SW5zdHJ1bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXltZW50SW5zdHJ1bWVudHMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBheW1lbnRJbnN0cnVtZW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RQYXltZW50TWFuYWdlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXltZW50TWFuYWdlcnMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQYXltZW50TWFuYWdlcnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0UGF5bWVudFNlc3Npb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGF5bWVudFNlc3Npb25zID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UGF5bWVudFNlc3Npb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBvbGljaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9saWNpZXMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY2llc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lFbmdpbmVTdW1tYXJpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY3lFbmdpbmVTdW1tYXJpZXMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBvbGljeUVuZ2luZVN1bW1hcmllc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lFbmdpbmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9saWN5RW5naW5lcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBvbGljeUVuZ2luZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5R2VuZXJhdGlvbkFzc2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBvbGljeUdlbmVyYXRpb25Bc3NldHMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBvbGljeUdlbmVyYXRpb25Bc3NldHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5R2VuZXJhdGlvblN1bW1hcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBvbGljeUdlbmVyYXRpb25TdW1tYXJpZXMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBvbGljeUdlbmVyYXRpb25TdW1tYXJpZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5R2VuZXJhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY3lHZW5lcmF0aW9ucyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5R2VuZXJhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5U3VtbWFyaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9saWN5U3VtbWFyaWVzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5U3VtbWFyaWVzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdFJlY29tbWVuZGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGF0aW9ucyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFJlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RSZWdpc3RyaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVnaXN0cmllcyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFJlZ2lzdHJpZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0UmVnaXN0cnlSZWNvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVnaXN0cnlSZWNvcmRzID0gXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UmVnaXN0cnlSZWNvcmRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jay1hZ2VudGNvcmU6TGlzdFNlc3Npb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2Vzc2lvbnMgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RTZXNzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpMaXN0V29ya2xvYWRJZGVudGl0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2xvYWRJZGVudGl0aWVzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RXb3JrbG9hZElkZW50aXRpZXNcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gYmVkcm9jay1hZ2VudGNvcmU6TWFuYWdlQWRtaW5Qb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1hbmFnZUFkbWluUG9saWN5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpNYW5hZ2VBZG1pblBvbGljeVwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBiZWRyb2NrLWFnZW50Y29yZTpNYW5hZ2VSZXNvdXJjZVNjb3BlZFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWFuYWdlUmVzb3VyY2VTY29wZWRQb2xpY3kgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TWFuYWdlUmVzb3VyY2VTY29wZWRQb2xpY3lcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gYmVkcm9jay1hZ2VudGNvcmU6UGFydGlhbGx5QXV0aG9yaXplQWN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUGFydGlhbGx5QXV0aG9yaXplQWN0aW9ucyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpQYXJ0aWFsbHlBdXRob3JpemVBY3Rpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlBhc3NDYXBhY2l0eVByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBQYXNzQ2FwYWNpdHlQcm92aWRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpQYXNzQ2FwYWNpdHlQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpQcm9jZXNzUGF5bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJvY2Vzc1BheW1lbnQgPSBcImJlZHJvY2stYWdlbnRjb3JlOlByb2Nlc3NQYXltZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6UHV0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6UHV0U3lzdGVtTG9nRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTeXN0ZW1Mb2dFdmVudHMgPSBcImJlZHJvY2stYWdlbnRjb3JlOlB1dFN5c3RlbUxvZ0V2ZW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2stYWdlbnRjb3JlOlJldHJpZXZlTWVtb3J5UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmVNZW1vcnlSZWNvcmRzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlJldHJpZXZlTWVtb3J5UmVjb3Jkc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpTYXZlQnJvd3NlclNlc3Npb25Qcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBTYXZlQnJvd3NlclNlc3Npb25Qcm9maWxlID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlNhdmVCcm93c2VyU2Vzc2lvblByb2ZpbGVcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrLWFnZW50Y29yZTpTZWFyY2hSZWdpc3RyeVJlY29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFJlZ2lzdHJ5UmVjb3JkcyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTZWFyY2hSZWdpc3RyeVJlY29yZHNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6U2V0VG9rZW5WYXVsdENNSyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0VG9rZW5WYXVsdENNSyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6U2V0VG9rZW5WYXVsdENNS1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpTdGFydEJhdGNoRXZhbHVhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRCYXRjaEV2YWx1YXRpb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3RhcnRCYXRjaEV2YWx1YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6U3RhcnRCcm93c2VyU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRCcm93c2VyU2Vzc2lvbiA9IFwiYmVkcm9jay1hZ2VudGNvcmU6U3RhcnRCcm93c2VyU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpTdGFydENvZGVJbnRlcnByZXRlclNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Q29kZUludGVycHJldGVyU2Vzc2lvbiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTdGFydENvZGVJbnRlcnByZXRlclNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6U3RhcnRNZW1vcnlFeHRyYWN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1lbW9yeUV4dHJhY3Rpb25Kb2IgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3RhcnRNZW1vcnlFeHRyYWN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlN0YXJ0UG9saWN5R2VuZXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQb2xpY3lHZW5lcmF0aW9uID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN0YXJ0UG9saWN5R2VuZXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpTdGFydFJlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY29tbWVuZGF0aW9uID0gXCJiZWRyb2NrLWFnZW50Y29yZTpTdGFydFJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlN0b3BCYXRjaEV2YWx1YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BCYXRjaEV2YWx1YXRpb24gPSBcImJlZHJvY2stYWdlbnRjb3JlOlN0b3BCYXRjaEV2YWx1YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6U3RvcEJyb3dzZXJTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQnJvd3NlclNlc3Npb24gPSBcImJlZHJvY2stYWdlbnRjb3JlOlN0b3BCcm93c2VyU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpTdG9wQ29kZUludGVycHJldGVyU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcENvZGVJbnRlcnByZXRlclNlc3Npb24gPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3RvcENvZGVJbnRlcnByZXRlclNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6U3RvcFJ1bnRpbWVTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUnVudGltZVNlc3Npb24gPSBcImJlZHJvY2stYWdlbnRjb3JlOlN0b3BSdW50aW1lU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpTdWJtaXRSZWdpc3RyeVJlY29yZEZvckFwcHJvdmFsICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRSZWdpc3RyeVJlY29yZEZvckFwcHJvdmFsID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN1Ym1pdFJlZ2lzdHJ5UmVjb3JkRm9yQXBwcm92YWxcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gYmVkcm9jay1hZ2VudGNvcmU6U3luY2hyb25pemVHYXRld2F5VGFyZ2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3luY2hyb25pemVHYXRld2F5VGFyZ2V0cyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTeW5jaHJvbml6ZUdhdGV3YXlUYXJnZXRzXCI7XG5cdC8qKiBbVGFnZ2luZ10gYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGJlZHJvY2stYWdlbnRjb3JlOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImJlZHJvY2stYWdlbnRjb3JlOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQUJUZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBQlRlc3QgPSBcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUFCVGVzdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVBZ2VudFJ1bnRpbWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50UnVudGltZSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQWdlbnRSdW50aW1lXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUFnZW50UnVudGltZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFJ1bnRpbWVFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVBZ2VudFJ1bnRpbWVFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQnJvd3NlclN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQnJvd3NlclN0cmVhbSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQnJvd3NlclN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVDYXBhY2l0eVByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDYXBhY2l0eVByb3ZpZGVyID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUNhcGFjaXR5UHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQ29uZmlndXJhdGlvbkJ1bmRsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJhdGlvbkJ1bmRsZSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVDb25maWd1cmF0aW9uQnVuZGxlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZURhdGFzZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFzZXQgPSBcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZURhdGFzZXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlRGF0YXNldEV4YW1wbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhc2V0RXhhbXBsZXMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlRGF0YXNldEV4YW1wbGVzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUV2YWx1YXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXZhbHVhdG9yID0gXCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVFdmFsdWF0b3JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlR2F0ZXdheSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlR2F0ZXdheSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlR2F0ZXdheVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVHYXRld2F5UmF0ZUxpbWl0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHYXRld2F5UmF0ZUxpbWl0ID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlSYXRlTGltaXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlR2F0ZXdheVJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUdhdGV3YXlSdWxlID0gXCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVHYXRld2F5UnVsZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVHYXRld2F5VGFyZ2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHYXRld2F5VGFyZ2V0ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVHYXRld2F5VGFyZ2V0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUhhcm5lc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUhhcm5lc3MgPSBcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUhhcm5lc3NcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlSGFybmVzc0VuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVIYXJuZXNzRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlSGFybmVzc0VuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZU1lbW9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWVtb3J5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVNZW1vcnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZU9ubGluZUV2YWx1YXRpb25Db25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9ubGluZUV2YWx1YXRpb25Db25maWcgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVQYXltZW50Q29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXltZW50Q29ubmVjdG9yID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBheW1lbnRDb25uZWN0b3JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBheW1lbnRNYW5hZ2VyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXltZW50TWFuYWdlciA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVQYXltZW50TWFuYWdlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBvbGljeSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBvbGljeUVuZ2luZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9saWN5RW5naW5lID0gXCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVQb2xpY3lFbmdpbmVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlUmVnaXN0cnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlZ2lzdHJ5ID0gXCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVSZWdpc3RyeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVSZWdpc3RyeVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVnaXN0cnlSZWNvcmQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlUmVnaXN0cnlSZWNvcmRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlUmVnaXN0cnlSZWNvcmRTdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlZ2lzdHJ5UmVjb3JkU3RhdHVzID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVJlZ2lzdHJ5UmVjb3JkU3RhdHVzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVdvcmtsb2FkSWRlbnRpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtsb2FkSWRlbnRpdHkgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlV29ya2xvYWRJZGVudGl0eVwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNvbXBsZXRlUmVzb3VyY2VUb2tlbkF1dGgsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ29ubmVjdEJyb3dzZXJBdXRvbWF0aW9uU3RyZWFtLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNvbm5lY3RCcm93c2VyTGl2ZVZpZXdTdHJlYW0sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuR2F0ZXdheUdldFdlYkFDTEZvclJlc291cmNlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldEFCVGVzdCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRBZ2VudENhcmQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0QWdlbnRSdW50aW1lLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldEFnZW50UnVudGltZUVuZHBvaW50LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldEFwaUtleUNyZWRlbnRpYWxQcm92aWRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRCYXRjaEV2YWx1YXRpb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0QnJvd3Nlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRCcm93c2VyUHJvZmlsZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRCcm93c2VyU2Vzc2lvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRDYXBhY2l0eVByb3ZpZGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldENvZGVJbnRlcnByZXRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldENvbmZpZ3VyYXRpb25CdW5kbGUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0Q29uZmlndXJhdGlvbkJ1bmRsZVZlcnNpb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0RGF0YXNldCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRFdmFsdWF0b3IsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0RXZlbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0R2F0ZXdheSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRHYXRld2F5UmF0ZUxpbWl0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldEdhdGV3YXlSdWxlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldEdhdGV3YXlUYXJnZXQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0SGFybmVzcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRIYXJuZXNzRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0TWVtb3J5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldE1lbW9yeVJlY29yZCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0T25saW5lRXZhbHVhdGlvbkNvbmZpZyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRQYXltZW50Q29ubmVjdG9yLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UGF5bWVudEluc3RydW1lbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UGF5bWVudEluc3RydW1lbnRCYWxhbmNlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFBheW1lbnRNYW5hZ2VyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFBheW1lbnRTZXNzaW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFBvbGljeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRQb2xpY3lFbmdpbmUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UG9saWN5RW5naW5lU3VtbWFyeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRQb2xpY3lHZW5lcmF0aW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFBvbGljeUdlbmVyYXRpb25TdW1tYXJ5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFBvbGljeVN1bW1hcnksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UmVjb21tZW5kYXRpb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UmVnaXN0cnksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UmVnaXN0cnlSZWNvcmQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VBcGlLZXksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VPYXV0aDJUb2tlbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVBheW1lbnRUb2tlbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVBvbGljeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRUb2tlblZhdWx0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFdvcmtsb2FkSWRlbnRpdHksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuSW52b2tlUmVnaXN0cnlNY3AsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEFwaUtleUNyZWRlbnRpYWxQcm92aWRlcnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdE9hdXRoMkNyZWRlbnRpYWxQcm92aWRlcnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdFdvcmtsb2FkSWRlbnRpdGllcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5TZWFyY2hSZWdpc3RyeVJlY29yZHMsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQWRkRGF0YXNldEV4YW1wbGVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkJhdGNoQ3JlYXRlTWVtb3J5UmVjb3Jkcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5CYXRjaERlbGV0ZU1lbW9yeVJlY29yZHMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQmF0Y2hQdXRHYXRld2F5UmF0ZUxpbWl0cyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5CYXRjaFVwZGF0ZU1lbW9yeVJlY29yZHMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlQUJUZXN0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZUFnZW50UnVudGltZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVBZ2VudFJ1bnRpbWVFbmRwb2ludCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlQnJvd3Nlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVCcm93c2VyUHJvZmlsZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVDYXBhY2l0eVByb3ZpZGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZUNvZGVJbnRlcnByZXRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVDb25maWd1cmF0aW9uQnVuZGxlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZURhdGFzZXQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlRGF0YXNldFZlcnNpb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlRXZhbHVhdG9yLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZUV2ZW50LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZUdhdGV3YXksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlR2F0ZXdheVJhdGVMaW1pdCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVHYXRld2F5UnVsZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVHYXRld2F5VGFyZ2V0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZUhhcm5lc3MsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlSGFybmVzc0VuZHBvaW50LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZU1lbW9yeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVQYXltZW50Q29ubmVjdG9yLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlUGF5bWVudEluc3RydW1lbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlUGF5bWVudE1hbmFnZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlUGF5bWVudFNlc3Npb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQ3JlYXRlUG9saWN5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkNyZWF0ZVBvbGljeUVuZ2luZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVSZWdpc3RyeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVSZWdpc3RyeVJlY29yZCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5DcmVhdGVXb3JrbG9hZElkZW50aXR5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZUFCVGVzdCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVBZ2VudFJ1bnRpbWUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlQWdlbnRSdW50aW1lRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZUJhdGNoRXZhbHVhdGlvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVCcm93c2VyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZUJyb3dzZXJQcm9maWxlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZUNhcGFjaXR5UHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlQ2FwYWNpdHlQcm92aWRlclNlc3Npb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlQ29kZUludGVycHJldGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZUNvbmZpZ3VyYXRpb25CdW5kbGUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlRGF0YXNldCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVEYXRhc2V0RXhhbXBsZXMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlRXZhbHVhdG9yLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZUV2ZW50LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZUdhdGV3YXksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlR2F0ZXdheVJhdGVMaW1pdCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVHYXRld2F5UnVsZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVHYXRld2F5VGFyZ2V0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZUhhcm5lc3MsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlSGFybmVzc0VuZHBvaW50LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZU1lbW9yeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVNZW1vcnlSZWNvcmQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZU9ubGluZUV2YWx1YXRpb25Db25maWcsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlUGF5bWVudENvbm5lY3Rvcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZVBheW1lbnRJbnN0cnVtZW50LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZVBheW1lbnRNYW5hZ2VyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZVBheW1lbnRTZXNzaW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkRlbGV0ZVBvbGljeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5EZWxldGVQb2xpY3lFbmdpbmUsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlUmVjb21tZW5kYXRpb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlUmVnaXN0cnksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlUmVnaXN0cnlSZWNvcmQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuRGVsZXRlV29ya2xvYWRJZGVudGl0eSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5FdmFsdWF0ZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5HYXRld2F5QXNzb2NpYXRlV2ViQUNMLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkdhdGV3YXlEaXNhc3NvY2lhdGVXZWJBQ0wsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuYWN0aW9uR2V0V29ya2xvYWRBY2Nlc3NUb2tlbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25HZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9ySldULFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLmFjdGlvbkdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JVc2VySWQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuSW52b2tlQWdlbnRSdW50aW1lLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkludm9rZUFnZW50UnVudGltZUNvbW1hbmQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuSW52b2tlQWdlbnRSdW50aW1lQ29tbWFuZFNoZWxsLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkludm9rZUFnZW50UnVudGltZUZvclVzZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuSW52b2tlQWdlbnRSdW50aW1lV2l0aFdlYlNvY2tldFN0cmVhbSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5JbnZva2VBZ2VudFJ1bnRpbWVXaXRoV2ViU29ja2V0U3RyZWFtRm9yVXNlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5JbnZva2VDb2RlSW50ZXJwcmV0ZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuSW52b2tlSGFybmVzcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5QYXNzQ2FwYWNpdHlQcm92aWRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5Qcm9jZXNzUGF5bWVudCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5QdXRSZXNvdXJjZVBvbGljeSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5QdXRTeXN0ZW1Mb2dFdmVudHMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuU2F2ZUJyb3dzZXJTZXNzaW9uUHJvZmlsZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5hY3Rpb25TZXRUb2tlblZhdWx0Q01LLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlN0YXJ0QmF0Y2hFdmFsdWF0aW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlN0YXJ0QnJvd3NlclNlc3Npb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuU3RhcnRDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlN0YXJ0TWVtb3J5RXh0cmFjdGlvbkpvYixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5TdGFydFBvbGljeUdlbmVyYXRpb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuU3RhcnRSZWNvbW1lbmRhdGlvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5TdG9wQmF0Y2hFdmFsdWF0aW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlN0b3BCcm93c2VyU2Vzc2lvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5TdG9wQ29kZUludGVycHJldGVyU2Vzc2lvbixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5TdG9wUnVudGltZVNlc3Npb24sXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuU3VibWl0UmVnaXN0cnlSZWNvcmRGb3JBcHByb3ZhbCxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVBQlRlc3QsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlQWdlbnRSdW50aW1lLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZUFnZW50UnVudGltZUVuZHBvaW50LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVCcm93c2VyU3RyZWFtLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZUNhcGFjaXR5UHJvdmlkZXIsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlQ29uZmlndXJhdGlvbkJ1bmRsZSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVEYXRhc2V0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZURhdGFzZXRFeGFtcGxlcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVFdmFsdWF0b3IsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlR2F0ZXdheSxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVHYXRld2F5UmF0ZUxpbWl0LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZUdhdGV3YXlSdWxlLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZUdhdGV3YXlUYXJnZXQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlSGFybmVzcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVIYXJuZXNzRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlTWVtb3J5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZU9hdXRoMkNyZWRlbnRpYWxQcm92aWRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZVBheW1lbnRDb25uZWN0b3IsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVQYXltZW50TWFuYWdlcixcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5VcGRhdGVQb2xpY3ksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVXBkYXRlUG9saWN5RW5naW5lLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZVJlZ2lzdHJ5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZVJlZ2lzdHJ5UmVjb3JkLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZVJlZ2lzdHJ5UmVjb3JkU3RhdHVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlVwZGF0ZVdvcmtsb2FkSWRlbnRpdHksXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkdhdGV3YXlMaXN0UmVzb3VyY2VzRm9yV2ViQUNMLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RBQlRlc3RzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RBY3RvcnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEFnZW50UnVudGltZUVuZHBvaW50cyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0QWdlbnRSdW50aW1lVmVyc2lvbnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEFnZW50UnVudGltZVZlcnNpb25zQnlDYXBhY2l0eVByb3ZpZGVyLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RBZ2VudFJ1bnRpbWVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RCYXRjaEV2YWx1YXRpb25zLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RCcm93c2VyUHJvZmlsZXMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEJyb3dzZXJTZXNzaW9ucyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0QnJvd3NlcnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdENhcGFjaXR5UHJvdmlkZXJzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RDb2RlSW50ZXJwcmV0ZXJTZXNzaW9ucyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0Q29kZUludGVycHJldGVycyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0Q29uZmlndXJhdGlvbkJ1bmRsZVZlcnNpb25zLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RDb25maWd1cmF0aW9uQnVuZGxlcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0RGF0YXNldEV4YW1wbGVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3REYXRhc2V0VmVyc2lvbnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdERhdGFzZXRzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RFdmFsdWF0b3JzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RFdmVudHMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEdhdGV3YXlSYXRlTGltaXRzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RHYXRld2F5UnVsZXMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdEdhdGV3YXlUYXJnZXRzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RHYXRld2F5cyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0SGFybmVzc0VuZHBvaW50cyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0SGFybmVzc1ZlcnNpb25zLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RIYXJuZXNzZXMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdE1lbW9yaWVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RNZW1vcnlFeHRyYWN0aW9uSm9icyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0TWVtb3J5UmVjb3Jkcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0T25saW5lRXZhbHVhdGlvbkNvbmZpZ3MsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdFBheW1lbnRDb25uZWN0b3JzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVycyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0UGF5bWVudEluc3RydW1lbnRzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RQYXltZW50TWFuYWdlcnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdFBheW1lbnRTZXNzaW9ucyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0UG9saWNpZXMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdFBvbGljeUVuZ2luZVN1bW1hcmllcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0UG9saWN5RW5naW5lcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0UG9saWN5R2VuZXJhdGlvbkFzc2V0cyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0UG9saWN5R2VuZXJhdGlvblN1bW1hcmllcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0UG9saWN5R2VuZXJhdGlvbnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdFBvbGljeVN1bW1hcmllcyxcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5MaXN0UmVjb21tZW5kYXRpb25zLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RSZWdpc3RyaWVzLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RSZWdpc3RyeVJlY29yZHMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuTGlzdFNlc3Npb25zLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuUmV0cmlldmVNZW1vcnlSZWNvcmRzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWdlbnRjb3JlQWN0aW9ucy5BbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuQXV0aG9yaXplQWN0aW9uLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLkludm9rZUdhdGV3YXksXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuSW52b2tlV2ViU2VhcmNoLFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLk1hbmFnZUFkbWluUG9saWN5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLk1hbmFnZVJlc291cmNlU2NvcGVkUG9saWN5LFxuXHRcdEJlZHJvY2tBZ2VudGNvcmVBY3Rpb25zLlBhcnRpYWxseUF1dGhvcml6ZUFjdGlvbnMsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuU3luY2hyb25pemVHYXRld2F5VGFyZ2V0cyxcblx0XTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0QmVkcm9ja0FnZW50Y29yZUFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFiLXRlc3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVBYlRlc3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQUJUZXN0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFiVGVzdElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWItdGVzdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUFiVGVzdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQUJUZXN0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhYlRlc3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFRva2VuVmF1bHRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdG9rZW5WYXVsdElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFwaWtleWNyZWRlbnRpYWxwcm92aWRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUFwaWtleWNyZWRlbnRpYWxwcm92aWRlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVG9rZW5WYXVsdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdG9rZW5WYXVsdElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGJhdGNoLWV2YWx1YXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQmF0Y2hFdmFsdWF0ZUFyblByb3BzIHtcblx0LyoqIFRoZSBCYXRjaEV2YWx1YXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYmF0Y2hFdmFsdWF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBiYXRjaC1ldmFsdWF0ZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUJhdGNoRXZhbHVhdGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEJhdGNoRXZhbHVhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYmF0Y2hFdmFsdWF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGJyb3dzZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVCcm93c2VyQXJuUHJvcHMge1xuXHQvKiogVGhlIEJyb3dzZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYnJvd3NlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYnJvd3NlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUJyb3dzZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEJyb3dzZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGJyb3dzZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYnJvd3Nlci1jdXN0b20gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVCcm93c2VyQ3VzdG9tQXJuUHJvcHMge1xuXHQvKiogVGhlIEJyb3dzZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYnJvd3NlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYnJvd3Nlci1jdXN0b20gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVCcm93c2VyQ3VzdG9tQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCcm93c2VySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBicm93c2VySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGJyb3dzZXItcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUJyb3dzZXJQcm9maWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIEJyb3dzZXJQcm9maWxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJyb3dzZXJQcm9maWxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBicm93c2VyLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVCcm93c2VyUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQnJvd3NlclByb2ZpbGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGJyb3dzZXJQcm9maWxlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNhcGFjaXR5LXByb3ZpZGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQ2FwYWNpdHlQcm92aWRlckFyblByb3BzIHtcblx0LyoqIFRoZSBDYXBhY2l0eVByb3ZpZGVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhcGFjaXR5UHJvdmlkZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNhcGFjaXR5LXByb3ZpZGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQ2FwYWNpdHlQcm92aWRlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FwYWNpdHlQcm92aWRlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2FwYWNpdHlQcm92aWRlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb2RlLWludGVycHJldGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQ29kZUludGVycHJldGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIENvZGVJbnRlcnByZXRlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb2RlSW50ZXJwcmV0ZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvZGUtaW50ZXJwcmV0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVDb2RlSW50ZXJwcmV0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvZGVJbnRlcnByZXRlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29kZUludGVycHJldGVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvZGUtaW50ZXJwcmV0ZXItY3VzdG9tIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQ29kZUludGVycHJldGVyQ3VzdG9tQXJuUHJvcHMge1xuXHQvKiogVGhlIENvZGVJbnRlcnByZXRlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb2RlSW50ZXJwcmV0ZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvZGUtaW50ZXJwcmV0ZXItY3VzdG9tIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlQ29kZUludGVycHJldGVyQ3VzdG9tQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb2RlSW50ZXJwcmV0ZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvZGVJbnRlcnByZXRlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb25maWd1cmF0aW9uLWJ1bmRsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUNvbmZpZ3VyYXRpb25CdW5kbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29uZmlndXJhdGlvbkJ1bmRsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25maWd1cmF0aW9uQnVuZGxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb25maWd1cmF0aW9uLWJ1bmRsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUNvbmZpZ3VyYXRpb25CdW5kbGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbmZpZ3VyYXRpb25CdW5kbGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25CdW5kbGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YXNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZURhdGFzZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGF0YXNldElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYXRhc2V0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlRGF0YXNldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGF0YXNldElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGF0YXNldElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBldmFsdWF0b3IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVFdmFsdWF0b3JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRXZhbHVhdG9ySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGV2YWx1YXRvcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXZhbHVhdG9yIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlRXZhbHVhdG9yQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFdmFsdWF0b3JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV2YWx1YXRvcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBnYXRld2F5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlR2F0ZXdheUFyblByb3BzIHtcblx0LyoqIFRoZSBHYXRld2F5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGdhdGV3YXlJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGdhdGV3YXkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVHYXRld2F5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBHYXRld2F5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBnYXRld2F5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGhhcm5lc3MgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVIYXJuZXNzQXJuUHJvcHMge1xuXHQvKiogVGhlIEhhcm5lc3NJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaGFybmVzc0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaGFybmVzcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUhhcm5lc3NBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEhhcm5lc3NJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGhhcm5lc3NJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaGFybmVzcy1lbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZUhhcm5lc3NFbmRwb2ludEFyblByb3BzIHtcblx0LyoqIFRoZSBIYXJuZXNzSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGhhcm5lc3NJZDogc3RyaW5nO1xuXHQvKiogVGhlIE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBoYXJuZXNzLWVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlSGFybmVzc0VuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIYXJuZXNzSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBoYXJuZXNzSWQ6IHN0cmluZztcblx0LyoqIFRoZSBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbWVtb3J5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlTWVtb3J5QXJuUHJvcHMge1xuXHQvKiogVGhlIE1lbW9yeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtZW1vcnlJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1lbW9yeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZU1lbW9yeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTWVtb3J5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtZW1vcnlJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgb2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlT2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFRva2VuVmF1bHRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdG9rZW5WYXVsdElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG9hdXRoMmNyZWRlbnRpYWxwcm92aWRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZU9hdXRoMmNyZWRlbnRpYWxwcm92aWRlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVG9rZW5WYXVsdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdG9rZW5WYXVsdElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG9ubGluZS1ldmFsdWF0aW9uLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZU9ubGluZUV2YWx1YXRpb25Db25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgT25saW5lRXZhbHVhdGlvbkNvbmZpZ0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBvbmxpbmVFdmFsdWF0aW9uQ29uZmlnSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBvbmxpbmUtZXZhbHVhdGlvbi1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBPbmxpbmVFdmFsdWF0aW9uQ29uZmlnSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBvbmxpbmVFdmFsdWF0aW9uQ29uZmlnSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBheW1lbnQtbWFuYWdlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVBheW1lbnRNYW5hZ2VyQXJuUHJvcHMge1xuXHQvKiogVGhlIFBheW1lbnRNYW5hZ2VySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBheW1lbnRNYW5hZ2VySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwYXltZW50LW1hbmFnZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVQYXltZW50TWFuYWdlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUGF5bWVudE1hbmFnZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBheW1lbnRNYW5hZ2VySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBheW1lbnRjcmVkZW50aWFscHJvdmlkZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVQYXltZW50Y3JlZGVudGlhbHByb3ZpZGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFRva2VuVmF1bHRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdG9rZW5WYXVsdElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBheW1lbnRjcmVkZW50aWFscHJvdmlkZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVQYXltZW50Y3JlZGVudGlhbHByb3ZpZGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUb2tlblZhdWx0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0b2tlblZhdWx0SWQ6IHN0cmluZztcblx0LyoqIFRoZSBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlUG9saWN5QXJuUHJvcHMge1xuXHQvKiogVGhlIFBvbGljeUVuZ2luZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwb2xpY3lFbmdpbmVJZDogc3RyaW5nO1xuXHQvKiogVGhlIFBvbGljeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBvbGljeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVBvbGljeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUG9saWN5RW5naW5lSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwb2xpY3lFbmdpbmVJZDogc3RyaW5nO1xuXHQvKiogVGhlIFBvbGljeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcG9saWN5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBvbGljeS1lbmdpbmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVQb2xpY3lFbmdpbmVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUG9saWN5RW5naW5lSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBvbGljeUVuZ2luZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcG9saWN5LWVuZ2luZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVBvbGljeUVuZ2luZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUG9saWN5RW5naW5lSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwb2xpY3lFbmdpbmVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcG9saWN5LWdlbmVyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVQb2xpY3lHZW5lcmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFBvbGljeUVuZ2luZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwb2xpY3lFbmdpbmVJZDogc3RyaW5nO1xuXHQvKiogVGhlIFBvbGljeUdlbmVyYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcG9saWN5R2VuZXJhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcG9saWN5LWdlbmVyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVQb2xpY3lHZW5lcmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQb2xpY3lFbmdpbmVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBvbGljeUVuZ2luZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUG9saWN5R2VuZXJhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcG9saWN5R2VuZXJhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWNvbW1lbmRhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVJlY29tbWVuZGF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlY29tbWVuZGF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZWNvbW1lbmRhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVJlY29tbWVuZGF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvbW1lbmRhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVnaXN0cnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVSZWdpc3RyeUFyblByb3BzIHtcblx0LyoqIFRoZSBSZWdpc3RyeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZWdpc3RyeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVnaXN0cnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVSZWdpc3RyeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVnaXN0cnlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlZ2lzdHJ5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlZ2lzdHJ5LXJlY29yZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVJlZ2lzdHJ5UmVjb3JkQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlZ2lzdHJ5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlZ2lzdHJ5SWQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvcmRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVjb3JkSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZWdpc3RyeS1yZWNvcmQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVSZWdpc3RyeVJlY29yZEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVnaXN0cnlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlZ2lzdHJ5SWQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvcmRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlY29yZElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBydW50aW1lIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlUnVudGltZUFyblByb3BzIHtcblx0LyoqIFRoZSBSdW50aW1lSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJ1bnRpbWVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJ1bnRpbWUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVSdW50aW1lQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSdW50aW1lSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBydW50aW1lSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJ1bnRpbWUtZW5kcG9pbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVSdW50aW1lRW5kcG9pbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUnVudGltZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBydW50aW1lSWQ6IHN0cmluZztcblx0LyoqIFRoZSBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcnVudGltZS1lbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVJ1bnRpbWVFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUnVudGltZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcnVudGltZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRva2VuLXZhdWx0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlVG9rZW5WYXVsdEFyblByb3BzIHtcblx0LyoqIFRoZSBUb2tlblZhdWx0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRva2VuVmF1bHRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRva2VuLXZhdWx0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlVG9rZW5WYXVsdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVG9rZW5WYXVsdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdG9rZW5WYXVsdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB3ZWItc2VhcmNoIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlV2ViU2VhcmNoQXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdlYi1zZWFyY2ggQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVXZWJTZWFyY2hBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya2xvYWQtaWRlbnRpdHkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudGNvcmVXb3JrbG9hZElkZW50aXR5QXJuUHJvcHMge1xuXHQvKiogVGhlIERpcmVjdG9yeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkaXJlY3RvcnlJZDogc3RyaW5nO1xuXHQvKiogVGhlIFdvcmtsb2FkSWRlbnRpdHlOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB3b3JrbG9hZElkZW50aXR5TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmtsb2FkLWlkZW50aXR5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlV29ya2xvYWRJZGVudGl0eUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGlyZWN0b3J5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkaXJlY3RvcnlJZDogc3RyaW5nO1xuXHQvKiogVGhlIFdvcmtsb2FkSWRlbnRpdHlOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgd29ya2xvYWRJZGVudGl0eU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHdvcmtsb2FkLWlkZW50aXR5LWRpcmVjdG9yeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50Y29yZVdvcmtsb2FkSWRlbnRpdHlEaXJlY3RvcnlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGlyZWN0b3J5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRpcmVjdG9yeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgd29ya2xvYWQtaWRlbnRpdHktZGlyZWN0b3J5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRjb3JlV29ya2xvYWRJZGVudGl0eURpcmVjdG9yeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGlyZWN0b3J5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkaXJlY3RvcnlJZDogc3RyaW5nO1xufVxuXG5jb25zdCBBYlRlc3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphYi10ZXN0XFwvKD88YWJUZXN0SWQ+W146Lz9dKykkLztcbmNvbnN0IEFwaWtleWNyZWRlbnRpYWxwcm92aWRlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRva2VuLXZhdWx0XFwvKD88dG9rZW5WYXVsdElkPlteOi8/XSspXFwvYXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyXFwvKD88bmFtZT5bXjovP10rKSQvO1xuY29uc3QgQmF0Y2hFdmFsdWF0ZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmJhdGNoLWV2YWx1YXRlXFwvKD88YmF0Y2hFdmFsdWF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IEJyb3dzZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTphd3M6YnJvd3NlclxcLyg/PGJyb3dzZXJJZD5bXjovP10rKSQvO1xuY29uc3QgQnJvd3NlckN1c3RvbUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmJyb3dzZXItY3VzdG9tXFwvKD88YnJvd3NlcklkPlteOi8/XSspJC87XG5jb25zdCBCcm93c2VyUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmJyb3dzZXItcHJvZmlsZVxcLyg/PGJyb3dzZXJQcm9maWxlSWQ+W146Lz9dKykkLztcbmNvbnN0IENhcGFjaXR5UHJvdmlkZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXBhY2l0eS1wcm92aWRlclxcLyg/PGNhcGFjaXR5UHJvdmlkZXJJZD5bXjovP10rKSQvO1xuY29uc3QgQ29kZUludGVycHJldGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6YXdzOmNvZGUtaW50ZXJwcmV0ZXJcXC8oPzxjb2RlSW50ZXJwcmV0ZXJJZD5bXjovP10rKSQvO1xuY29uc3QgQ29kZUludGVycHJldGVyQ3VzdG9tQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29kZS1pbnRlcnByZXRlci1jdXN0b21cXC8oPzxjb2RlSW50ZXJwcmV0ZXJJZD5bXjovP10rKSQvO1xuY29uc3QgQ29uZmlndXJhdGlvbkJ1bmRsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbmZpZ3VyYXRpb24tYnVuZGxlXFwvKD88Y29uZmlndXJhdGlvbkJ1bmRsZUlkPlteOi8/XSspJC87XG5jb25zdCBEYXRhc2V0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YXNldFxcLyg/PGRhdGFzZXRJZD5bXjovP10rKSQvO1xuY29uc3QgRXZhbHVhdG9yQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZXZhbHVhdG9yXFwvKD88ZXZhbHVhdG9ySWQ+W146Lz9dKykkLztcbmNvbnN0IEdhdGV3YXlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpnYXRld2F5XFwvKD88Z2F0ZXdheUlkPlteOi8/XSspJC87XG5jb25zdCBIYXJuZXNzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aGFybmVzc1xcLyg/PGhhcm5lc3NJZD5bXjovP10rKSQvO1xuY29uc3QgSGFybmVzc0VuZHBvaW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aGFybmVzc1xcLyg/PGhhcm5lc3NJZD5bXjovP10rKVxcL2hhcm5lc3MtZW5kcG9pbnRcXC8oPzxuYW1lPlteOi8/XSspJC87XG5jb25zdCBNZW1vcnlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptZW1vcnlcXC8oPzxtZW1vcnlJZD5bXjovP10rKSQvO1xuY29uc3QgT2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dG9rZW4tdmF1bHRcXC8oPzx0b2tlblZhdWx0SWQ+W146Lz9dKylcXC9vYXV0aDJjcmVkZW50aWFscHJvdmlkZXJcXC8oPzxuYW1lPlteOi8/XSspJC87XG5jb25zdCBPbmxpbmVFdmFsdWF0aW9uQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6b25saW5lLWV2YWx1YXRpb24tY29uZmlnXFwvKD88b25saW5lRXZhbHVhdGlvbkNvbmZpZ0lkPlteOi8/XSspJC87XG5jb25zdCBQYXltZW50TWFuYWdlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBheW1lbnQtbWFuYWdlclxcLyg/PHBheW1lbnRNYW5hZ2VySWQ+W146Lz9dKykkLztcbmNvbnN0IFBheW1lbnRjcmVkZW50aWFscHJvdmlkZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0b2tlbi12YXVsdFxcLyg/PHRva2VuVmF1bHRJZD5bXjovP10rKVxcL3BheW1lbnRjcmVkZW50aWFscHJvdmlkZXJcXC8oPzxuYW1lPlteOi8/XSspJC87XG5jb25zdCBQb2xpY3lBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwb2xpY3ktZW5naW5lXFwvKD88cG9saWN5RW5naW5lSWQ+W146Lz9dKylcXC9wb2xpY3lcXC8oPzxwb2xpY3lJZD5bXjovP10rKSQvO1xuY29uc3QgUG9saWN5RW5naW5lQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cG9saWN5LWVuZ2luZVxcLyg/PHBvbGljeUVuZ2luZUlkPlteOi8/XSspJC87XG5jb25zdCBQb2xpY3lHZW5lcmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cG9saWN5LWVuZ2luZVxcLyg/PHBvbGljeUVuZ2luZUlkPlteOi8/XSspXFwvcG9saWN5LWdlbmVyYXRpb25cXC8oPzxwb2xpY3lHZW5lcmF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlY29tbWVuZGF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVjb21tZW5kYXRpb25cXC8oPzxyZWNvbW1lbmRhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBSZWdpc3RyeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlZ2lzdHJ5XFwvKD88cmVnaXN0cnlJZD5bXjovP10rKSQvO1xuY29uc3QgUmVnaXN0cnlSZWNvcmRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZWdpc3RyeVxcLyg/PHJlZ2lzdHJ5SWQ+W146Lz9dKylcXC9yZWNvcmRcXC8oPzxyZWNvcmRJZD5bXjovP10rKSQvO1xuY29uc3QgUnVudGltZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJ1bnRpbWVcXC8oPzxydW50aW1lSWQ+W146Lz9dKykkLztcbmNvbnN0IFJ1bnRpbWVFbmRwb2ludEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJ1bnRpbWVcXC8oPzxydW50aW1lSWQ+W146Lz9dKylcXC9ydW50aW1lLWVuZHBvaW50XFwvKD88bmFtZT5bXjovP10rKSQvO1xuY29uc3QgVG9rZW5WYXVsdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrLWFnZW50Y29yZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRva2VuLXZhdWx0XFwvKD88dG9rZW5WYXVsdElkPlteOi8/XSspJC87XG5jb25zdCBXZWJTZWFyY2hBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jay1hZ2VudGNvcmU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0b29sXFwvd2ViLXNlYXJjaFxcLnYxJC87XG5jb25zdCBXb3JrbG9hZElkZW50aXR5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya2xvYWQtaWRlbnRpdHktZGlyZWN0b3J5XFwvKD88ZGlyZWN0b3J5SWQ+W146Lz9dKylcXC93b3JrbG9hZC1pZGVudGl0eVxcLyg/PHdvcmtsb2FkSWRlbnRpdHlOYW1lPlteOi8/XSspJC87XG5jb25zdCBXb3JrbG9hZElkZW50aXR5RGlyZWN0b3J5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2stYWdlbnRjb3JlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya2xvYWQtaWRlbnRpdHktZGlyZWN0b3J5XFwvKD88ZGlyZWN0b3J5SWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBiZWRyb2NrLWFnZW50Y29yZSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrQWdlbnRjb3JlUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhYi10ZXN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFiVGVzdChwcm9wczogQmVkcm9ja0FnZW50Y29yZUFiVGVzdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphYi10ZXN0LyR7cHJvcHMuYWJUZXN0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFiLXRlc3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFiVGVzdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBYlRlc3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWItdGVzdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBYlRlc3RBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQWdlbnRjb3JlQWJUZXN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBYlRlc3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWItdGVzdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhYlRlc3RJZDogbWF0Y2guZ3JvdXBzIS5hYlRlc3RJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhcGlrZXljcmVkZW50aWFscHJvdmlkZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyKFxuXHRcdHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlQXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dG9rZW4tdmF1bHQvJHtwcm9wcy50b2tlblZhdWx0SWR9L2FwaWtleWNyZWRlbnRpYWxwcm92aWRlci8ke3Byb3BzLm5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFwaWtleWNyZWRlbnRpYWxwcm92aWRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFwaWtleWNyZWRlbnRpYWxwcm92aWRlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhcGlrZXljcmVkZW50aWFscHJvdmlkZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlQXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcGlrZXljcmVkZW50aWFscHJvdmlkZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXBpa2V5Y3JlZGVudGlhbHByb3ZpZGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRva2VuVmF1bHRJZDogbWF0Y2guZ3JvdXBzIS50b2tlblZhdWx0SWQsXG5cdFx0XHRuYW1lOiBtYXRjaC5ncm91cHMhLm5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYmF0Y2gtZXZhbHVhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYmF0Y2hFdmFsdWF0ZShwcm9wczogQmVkcm9ja0FnZW50Y29yZUJhdGNoRXZhbHVhdGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YmF0Y2gtZXZhbHVhdGUvJHtwcm9wcy5iYXRjaEV2YWx1YXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYmF0Y2gtZXZhbHVhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJhdGNoRXZhbHVhdGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQmF0Y2hFdmFsdWF0ZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBiYXRjaC1ldmFsdWF0ZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCYXRjaEV2YWx1YXRlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlQmF0Y2hFdmFsdWF0ZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQmF0Y2hFdmFsdWF0ZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBiYXRjaC1ldmFsdWF0ZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRiYXRjaEV2YWx1YXRpb25JZDogbWF0Y2guZ3JvdXBzIS5iYXRjaEV2YWx1YXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBicm93c2VyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJyb3dzZXIocHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVCcm93c2VyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTphd3M6YnJvd3Nlci8ke3Byb3BzLmJyb3dzZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYnJvd3NlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQnJvd3NlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCcm93c2VyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGJyb3dzZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQnJvd3NlckFybihhcm46IHN0cmluZyk6IEJlZHJvY2tBZ2VudGNvcmVCcm93c2VyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCcm93c2VyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJyb3dzZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YnJvd3NlcklkOiBtYXRjaC5ncm91cHMhLmJyb3dzZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBicm93c2VyLWN1c3RvbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBicm93c2VyQ3VzdG9tKHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlQnJvd3NlckN1c3RvbUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpicm93c2VyLWN1c3RvbS8ke3Byb3BzLmJyb3dzZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYnJvd3Nlci1jdXN0b20gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJyb3dzZXJDdXN0b21Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQnJvd3NlckN1c3RvbUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBicm93c2VyLWN1c3RvbSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCcm93c2VyQ3VzdG9tQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlQnJvd3NlckN1c3RvbUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQnJvd3NlckN1c3RvbUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBicm93c2VyLWN1c3RvbSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRicm93c2VySWQ6IG1hdGNoLmdyb3VwcyEuYnJvd3NlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJyb3dzZXItcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBicm93c2VyUHJvZmlsZShwcm9wczogQmVkcm9ja0FnZW50Y29yZUJyb3dzZXJQcm9maWxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmJyb3dzZXItcHJvZmlsZS8ke3Byb3BzLmJyb3dzZXJQcm9maWxlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGJyb3dzZXItcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQnJvd3NlclByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQnJvd3NlclByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYnJvd3Nlci1wcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJyb3dzZXJQcm9maWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlQnJvd3NlclByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJyb3dzZXJQcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJyb3dzZXItcHJvZmlsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRicm93c2VyUHJvZmlsZUlkOiBtYXRjaC5ncm91cHMhLmJyb3dzZXJQcm9maWxlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2FwYWNpdHktcHJvdmlkZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2FwYWNpdHlQcm92aWRlcihcblx0XHRwcm9wczogQmVkcm9ja0FnZW50Y29yZUNhcGFjaXR5UHJvdmlkZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXBhY2l0eS1wcm92aWRlci8ke3Byb3BzLmNhcGFjaXR5UHJvdmlkZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2FwYWNpdHktcHJvdmlkZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENhcGFjaXR5UHJvdmlkZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2FwYWNpdHlQcm92aWRlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjYXBhY2l0eS1wcm92aWRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDYXBhY2l0eVByb3ZpZGVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlQ2FwYWNpdHlQcm92aWRlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2FwYWNpdHlQcm92aWRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjYXBhY2l0eS1wcm92aWRlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXBhY2l0eVByb3ZpZGVySWQ6IG1hdGNoLmdyb3VwcyEuY2FwYWNpdHlQcm92aWRlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvZGUtaW50ZXJwcmV0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29kZUludGVycHJldGVyKFxuXHRcdHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlQ29kZUludGVycHJldGVyQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OmF3czpjb2RlLWludGVycHJldGVyLyR7cHJvcHMuY29kZUludGVycHJldGVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvZGUtaW50ZXJwcmV0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvZGVJbnRlcnByZXRlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb2RlSW50ZXJwcmV0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29kZS1pbnRlcnByZXRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb2RlSW50ZXJwcmV0ZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVDb2RlSW50ZXJwcmV0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvZGVJbnRlcnByZXRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2RlLWludGVycHJldGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvZGVJbnRlcnByZXRlcklkOiBtYXRjaC5ncm91cHMhLmNvZGVJbnRlcnByZXRlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvZGUtaW50ZXJwcmV0ZXItY3VzdG9tIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvZGVJbnRlcnByZXRlckN1c3RvbShcblx0XHRwcm9wczogQmVkcm9ja0FnZW50Y29yZUNvZGVJbnRlcnByZXRlckN1c3RvbUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvZGUtaW50ZXJwcmV0ZXItY3VzdG9tLyR7cHJvcHMuY29kZUludGVycHJldGVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvZGUtaW50ZXJwcmV0ZXItY3VzdG9tIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb2RlSW50ZXJwcmV0ZXJDdXN0b21Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29kZUludGVycHJldGVyQ3VzdG9tQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvZGUtaW50ZXJwcmV0ZXItY3VzdG9tIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvZGVJbnRlcnByZXRlckN1c3RvbUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FnZW50Y29yZUNvZGVJbnRlcnByZXRlckN1c3RvbUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29kZUludGVycHJldGVyQ3VzdG9tQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvZGUtaW50ZXJwcmV0ZXItY3VzdG9tIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvZGVJbnRlcnByZXRlcklkOiBtYXRjaC5ncm91cHMhLmNvZGVJbnRlcnByZXRlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbmZpZ3VyYXRpb24tYnVuZGxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbmZpZ3VyYXRpb25CdW5kbGUoXG5cdFx0cHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVDb25maWd1cmF0aW9uQnVuZGxlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29uZmlndXJhdGlvbi1idW5kbGUvJHtwcm9wcy5jb25maWd1cmF0aW9uQnVuZGxlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbmZpZ3VyYXRpb24tYnVuZGxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25maWd1cmF0aW9uQnVuZGxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb25CdW5kbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29uZmlndXJhdGlvbi1idW5kbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29uZmlndXJhdGlvbkJ1bmRsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FnZW50Y29yZUNvbmZpZ3VyYXRpb25CdW5kbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbmZpZ3VyYXRpb25CdW5kbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29uZmlndXJhdGlvbi1idW5kbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29uZmlndXJhdGlvbkJ1bmRsZUlkOiBtYXRjaC5ncm91cHMhLmNvbmZpZ3VyYXRpb25CdW5kbGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFzZXQocHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVEYXRhc2V0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGFzZXQvJHtwcm9wcy5kYXRhc2V0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhdGFzZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFzZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YXNldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhc2V0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFzZXRBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQWdlbnRjb3JlRGF0YXNldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YXNldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhc2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRhdGFzZXRJZDogbWF0Y2guZ3JvdXBzIS5kYXRhc2V0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXZhbHVhdG9yIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV2YWx1YXRvcihwcm9wczogQmVkcm9ja0FnZW50Y29yZUV2YWx1YXRvckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpldmFsdWF0b3IvJHtwcm9wcy5ldmFsdWF0b3JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXZhbHVhdG9yIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFdmFsdWF0b3JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXZhbHVhdG9yQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV2YWx1YXRvciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFdmFsdWF0b3JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVFdmFsdWF0b3JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV2YWx1YXRvckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBldmFsdWF0b3IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZXZhbHVhdG9ySWQ6IG1hdGNoLmdyb3VwcyEuZXZhbHVhdG9ySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZ2F0ZXdheSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBnYXRld2F5KHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlR2F0ZXdheUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpnYXRld2F5LyR7cHJvcHMuZ2F0ZXdheUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBnYXRld2F5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRHYXRld2F5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEdhdGV3YXlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZ2F0ZXdheSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VHYXRld2F5QXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0FnZW50Y29yZUdhdGV3YXlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEdhdGV3YXlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZ2F0ZXdheSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRnYXRld2F5SWQ6IG1hdGNoLmdyb3VwcyEuZ2F0ZXdheUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGhhcm5lc3MgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaGFybmVzcyhwcm9wczogQmVkcm9ja0FnZW50Y29yZUhhcm5lc3NBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aGFybmVzcy8ke3Byb3BzLmhhcm5lc3NJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaGFybmVzcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSGFybmVzc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIYXJuZXNzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGhhcm5lc3MgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSGFybmVzc0Fybihhcm46IHN0cmluZyk6IEJlZHJvY2tBZ2VudGNvcmVIYXJuZXNzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIYXJuZXNzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGhhcm5lc3MgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aGFybmVzc0lkOiBtYXRjaC5ncm91cHMhLmhhcm5lc3NJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBoYXJuZXNzLWVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGhhcm5lc3NFbmRwb2ludChcblx0XHRwcm9wczogQmVkcm9ja0FnZW50Y29yZUhhcm5lc3NFbmRwb2ludEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omhhcm5lc3MvJHtwcm9wcy5oYXJuZXNzSWR9L2hhcm5lc3MtZW5kcG9pbnQvJHtwcm9wcy5uYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBoYXJuZXNzLWVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIYXJuZXNzRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSGFybmVzc0VuZHBvaW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGhhcm5lc3MtZW5kcG9pbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSGFybmVzc0VuZHBvaW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlSGFybmVzc0VuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIYXJuZXNzRW5kcG9pbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaGFybmVzcy1lbmRwb2ludCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRoYXJuZXNzSWQ6IG1hdGNoLmdyb3VwcyEuaGFybmVzc0lkLFxuXHRcdFx0bmFtZTogbWF0Y2guZ3JvdXBzIS5uYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1lbW9yeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtZW1vcnkocHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVNZW1vcnlBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWVtb3J5LyR7cHJvcHMubWVtb3J5SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1lbW9yeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWVtb3J5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1lbW9yeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtZW1vcnkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWVtb3J5QXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0FnZW50Y29yZU1lbW9yeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWVtb3J5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1lbW9yeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtZW1vcnlJZDogbWF0Y2guZ3JvdXBzIS5tZW1vcnlJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBvYXV0aDJjcmVkZW50aWFscHJvdmlkZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgb2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyKFxuXHRcdHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlT2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dG9rZW4tdmF1bHQvJHtwcm9wcy50b2tlblZhdWx0SWR9L29hdXRoMmNyZWRlbnRpYWxwcm92aWRlci8ke3Byb3BzLm5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG9hdXRoMmNyZWRlbnRpYWxwcm92aWRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9hdXRoMmNyZWRlbnRpYWxwcm92aWRlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBvYXV0aDJjcmVkZW50aWFscHJvdmlkZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlT2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBPYXV0aDJjcmVkZW50aWFscHJvdmlkZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb2F1dGgyY3JlZGVudGlhbHByb3ZpZGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRva2VuVmF1bHRJZDogbWF0Y2guZ3JvdXBzIS50b2tlblZhdWx0SWQsXG5cdFx0XHRuYW1lOiBtYXRjaC5ncm91cHMhLm5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgb25saW5lLWV2YWx1YXRpb24tY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9ubGluZUV2YWx1YXRpb25Db25maWcoXG5cdFx0cHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06b25saW5lLWV2YWx1YXRpb24tY29uZmlnLyR7cHJvcHMub25saW5lRXZhbHVhdGlvbkNvbmZpZ0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBvbmxpbmUtZXZhbHVhdGlvbi1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9ubGluZUV2YWx1YXRpb25Db25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT25saW5lRXZhbHVhdGlvbkNvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBvbmxpbmUtZXZhbHVhdGlvbi1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT25saW5lRXZhbHVhdGlvbkNvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FnZW50Y29yZU9ubGluZUV2YWx1YXRpb25Db25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9ubGluZUV2YWx1YXRpb25Db25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb25saW5lLWV2YWx1YXRpb24tY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG9ubGluZUV2YWx1YXRpb25Db25maWdJZDogbWF0Y2guZ3JvdXBzIS5vbmxpbmVFdmFsdWF0aW9uQ29uZmlnSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcGF5bWVudC1tYW5hZ2VyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBheW1lbnRNYW5hZ2VyKHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlUGF5bWVudE1hbmFnZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGF5bWVudC1tYW5hZ2VyLyR7cHJvcHMucGF5bWVudE1hbmFnZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGF5bWVudC1tYW5hZ2VyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQYXltZW50TWFuYWdlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQYXltZW50TWFuYWdlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwYXltZW50LW1hbmFnZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUGF5bWVudE1hbmFnZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVQYXltZW50TWFuYWdlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGF5bWVudE1hbmFnZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGF5bWVudC1tYW5hZ2VyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBheW1lbnRNYW5hZ2VySWQ6IG1hdGNoLmdyb3VwcyEucGF5bWVudE1hbmFnZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwYXltZW50Y3JlZGVudGlhbHByb3ZpZGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBheW1lbnRjcmVkZW50aWFscHJvdmlkZXIoXG5cdFx0cHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVQYXltZW50Y3JlZGVudGlhbHByb3ZpZGVyQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dG9rZW4tdmF1bHQvJHtwcm9wcy50b2tlblZhdWx0SWR9L3BheW1lbnRjcmVkZW50aWFscHJvdmlkZXIvJHtwcm9wcy5uYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwYXltZW50Y3JlZGVudGlhbHByb3ZpZGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQYXltZW50Y3JlZGVudGlhbHByb3ZpZGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBheW1lbnRjcmVkZW50aWFscHJvdmlkZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcGF5bWVudGNyZWRlbnRpYWxwcm92aWRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQYXltZW50Y3JlZGVudGlhbHByb3ZpZGVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlUGF5bWVudGNyZWRlbnRpYWxwcm92aWRlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGF5bWVudGNyZWRlbnRpYWxwcm92aWRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwYXltZW50Y3JlZGVudGlhbHByb3ZpZGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRva2VuVmF1bHRJZDogbWF0Y2guZ3JvdXBzIS50b2tlblZhdWx0SWQsXG5cdFx0XHRuYW1lOiBtYXRjaC5ncm91cHMhLm5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBvbGljeShwcm9wczogQmVkcm9ja0FnZW50Y29yZVBvbGljeUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwb2xpY3ktZW5naW5lLyR7cHJvcHMucG9saWN5RW5naW5lSWR9L3BvbGljeS8ke3Byb3BzLnBvbGljeUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBvbGljeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQb2xpY3lBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcG9saWN5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBvbGljeUFybihhcm46IHN0cmluZyk6IEJlZHJvY2tBZ2VudGNvcmVQb2xpY3lBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBvbGljeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwb2xpY3kgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cG9saWN5RW5naW5lSWQ6IG1hdGNoLmdyb3VwcyEucG9saWN5RW5naW5lSWQsXG5cdFx0XHRwb2xpY3lJZDogbWF0Y2guZ3JvdXBzIS5wb2xpY3lJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwb2xpY3ktZW5naW5lIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBvbGljeUVuZ2luZShwcm9wczogQmVkcm9ja0FnZW50Y29yZVBvbGljeUVuZ2luZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwb2xpY3ktZW5naW5lLyR7cHJvcHMucG9saWN5RW5naW5lSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBvbGljeS1lbmdpbmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBvbGljeUVuZ2luZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQb2xpY3lFbmdpbmVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcG9saWN5LWVuZ2luZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQb2xpY3lFbmdpbmVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZ2VudGNvcmVQb2xpY3lFbmdpbmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBvbGljeUVuZ2luZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwb2xpY3ktZW5naW5lIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBvbGljeUVuZ2luZUlkOiBtYXRjaC5ncm91cHMhLnBvbGljeUVuZ2luZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBvbGljeS1nZW5lcmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBvbGljeUdlbmVyYXRpb24oXG5cdFx0cHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVQb2xpY3lHZW5lcmF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jay1hZ2VudGNvcmU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cG9saWN5LWVuZ2luZS8ke3Byb3BzLnBvbGljeUVuZ2luZUlkfS9wb2xpY3ktZ2VuZXJhdGlvbi8ke3Byb3BzLnBvbGljeUdlbmVyYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcG9saWN5LWdlbmVyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBvbGljeUdlbmVyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUG9saWN5R2VuZXJhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwb2xpY3ktZ2VuZXJhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQb2xpY3lHZW5lcmF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlUG9saWN5R2VuZXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUG9saWN5R2VuZXJhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwb2xpY3ktZ2VuZXJhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwb2xpY3lFbmdpbmVJZDogbWF0Y2guZ3JvdXBzIS5wb2xpY3lFbmdpbmVJZCxcblx0XHRcdHBvbGljeUdlbmVyYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5wb2xpY3lHZW5lcmF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVjb21tZW5kYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVjb21tZW5kYXRpb24ocHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVSZWNvbW1lbmRhdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWNvbW1lbmRhdGlvbi8ke3Byb3BzLnJlY29tbWVuZGF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlY29tbWVuZGF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWNvbW1lbmRhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWNvbW1lbmRhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWNvbW1lbmRhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWNvbW1lbmRhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FnZW50Y29yZVJlY29tbWVuZGF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWNvbW1lbmRhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZWNvbW1lbmRhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWNvbW1lbmRhdGlvbklkOiBtYXRjaC5ncm91cHMhLnJlY29tbWVuZGF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVnaXN0cnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVnaXN0cnkocHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVSZWdpc3RyeUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWdpc3RyeS8ke3Byb3BzLnJlZ2lzdHJ5SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlZ2lzdHJ5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWdpc3RyeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWdpc3RyeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWdpc3RyeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWdpc3RyeUFybihhcm46IHN0cmluZyk6IEJlZHJvY2tBZ2VudGNvcmVSZWdpc3RyeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVnaXN0cnlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVnaXN0cnkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVnaXN0cnlJZDogbWF0Y2guZ3JvdXBzIS5yZWdpc3RyeUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlZ2lzdHJ5LXJlY29yZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWdpc3RyeVJlY29yZChwcm9wczogQmVkcm9ja0FnZW50Y29yZVJlZ2lzdHJ5UmVjb3JkQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlZ2lzdHJ5LyR7cHJvcHMucmVnaXN0cnlJZH0vcmVjb3JkLyR7cHJvcHMucmVjb3JkSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlZ2lzdHJ5LXJlY29yZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVnaXN0cnlSZWNvcmRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVnaXN0cnlSZWNvcmRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVnaXN0cnktcmVjb3JkIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlZ2lzdHJ5UmVjb3JkQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlUmVnaXN0cnlSZWNvcmRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlZ2lzdHJ5UmVjb3JkQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlZ2lzdHJ5LXJlY29yZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWdpc3RyeUlkOiBtYXRjaC5ncm91cHMhLnJlZ2lzdHJ5SWQsXG5cdFx0XHRyZWNvcmRJZDogbWF0Y2guZ3JvdXBzIS5yZWNvcmRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBydW50aW1lIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJ1bnRpbWUocHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVSdW50aW1lQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJ1bnRpbWUvJHtwcm9wcy5ydW50aW1lSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJ1bnRpbWUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJ1bnRpbWVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUnVudGltZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBydW50aW1lIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJ1bnRpbWVBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQWdlbnRjb3JlUnVudGltZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUnVudGltZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBydW50aW1lIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJ1bnRpbWVJZDogbWF0Y2guZ3JvdXBzIS5ydW50aW1lSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcnVudGltZS1lbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBydW50aW1lRW5kcG9pbnQoXG5cdFx0cHJvcHM6IEJlZHJvY2tBZ2VudGNvcmVSdW50aW1lRW5kcG9pbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpydW50aW1lLyR7cHJvcHMucnVudGltZUlkfS9ydW50aW1lLWVuZHBvaW50LyR7cHJvcHMubmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcnVudGltZS1lbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUnVudGltZUVuZHBvaW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJ1bnRpbWVFbmRwb2ludEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBydW50aW1lLWVuZHBvaW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJ1bnRpbWVFbmRwb2ludEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FnZW50Y29yZVJ1bnRpbWVFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUnVudGltZUVuZHBvaW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJ1bnRpbWUtZW5kcG9pbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cnVudGltZUlkOiBtYXRjaC5ncm91cHMhLnJ1bnRpbWVJZCxcblx0XHRcdG5hbWU6IG1hdGNoLmdyb3VwcyEubmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0b2tlbi12YXVsdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0b2tlblZhdWx0KHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlVG9rZW5WYXVsdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0b2tlbi12YXVsdC8ke3Byb3BzLnRva2VuVmF1bHRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdG9rZW4tdmF1bHQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRva2VuVmF1bHRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVG9rZW5WYXVsdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0b2tlbi12YXVsdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUb2tlblZhdWx0QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlVG9rZW5WYXVsdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVG9rZW5WYXVsdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0b2tlbi12YXVsdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0b2tlblZhdWx0SWQ6IG1hdGNoLmdyb3VwcyEudG9rZW5WYXVsdElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHdlYi1zZWFyY2ggcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgd2ViU2VhcmNoKHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlV2ViU2VhcmNoQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRvb2wvd2ViLXNlYXJjaC52MWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3ZWItc2VhcmNoIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRXZWJTZWFyY2hBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV2ViU2VhcmNoQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdlYi1zZWFyY2ggQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV2ViU2VhcmNoQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlV2ViU2VhcmNoQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXZWJTZWFyY2hBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd2ViLXNlYXJjaCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd29ya2xvYWQtaWRlbnRpdHkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgd29ya2xvYWRJZGVudGl0eShcblx0XHRwcm9wczogQmVkcm9ja0FnZW50Y29yZVdvcmtsb2FkSWRlbnRpdHlBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrLWFnZW50Y29yZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3b3JrbG9hZC1pZGVudGl0eS1kaXJlY3RvcnkvJHtwcm9wcy5kaXJlY3RvcnlJZH0vd29ya2xvYWQtaWRlbnRpdHkvJHtwcm9wcy53b3JrbG9hZElkZW50aXR5TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgd29ya2xvYWQtaWRlbnRpdHkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtsb2FkSWRlbnRpdHlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV29ya2xvYWRJZGVudGl0eUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3JrbG9hZC1pZGVudGl0eSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXb3JrbG9hZElkZW50aXR5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWdlbnRjb3JlV29ya2xvYWRJZGVudGl0eUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV29ya2xvYWRJZGVudGl0eUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3b3JrbG9hZC1pZGVudGl0eSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkaXJlY3RvcnlJZDogbWF0Y2guZ3JvdXBzIS5kaXJlY3RvcnlJZCxcblx0XHRcdHdvcmtsb2FkSWRlbnRpdHlOYW1lOiBtYXRjaC5ncm91cHMhLndvcmtsb2FkSWRlbnRpdHlOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHdvcmtsb2FkLWlkZW50aXR5LWRpcmVjdG9yeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3JrbG9hZElkZW50aXR5RGlyZWN0b3J5KFxuXHRcdHByb3BzOiBCZWRyb2NrQWdlbnRjb3JlV29ya2xvYWRJZGVudGl0eURpcmVjdG9yeUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2stYWdlbnRjb3JlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Ondvcmtsb2FkLWlkZW50aXR5LWRpcmVjdG9yeS8ke3Byb3BzLmRpcmVjdG9yeUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3b3JrbG9hZC1pZGVudGl0eS1kaXJlY3RvcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtsb2FkSWRlbnRpdHlEaXJlY3RvcnlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV29ya2xvYWRJZGVudGl0eURpcmVjdG9yeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3JrbG9hZC1pZGVudGl0eS1kaXJlY3RvcnkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV29ya2xvYWRJZGVudGl0eURpcmVjdG9yeUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FnZW50Y29yZVdvcmtsb2FkSWRlbnRpdHlEaXJlY3RvcnlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdvcmtsb2FkSWRlbnRpdHlEaXJlY3RvcnlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd29ya2xvYWQtaWRlbnRpdHktZGlyZWN0b3J5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRpcmVjdG9yeUlkOiBtYXRjaC5ncm91cHMhLmRpcmVjdG9yeUlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGJlZHJvY2stYWdlbnRjb3JlLlxuICovXG5leHBvcnQgY2xhc3MgQmVkcm9ja0FnZW50Y29yZU9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGREYXRhc2V0RXhhbXBsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGREYXRhc2V0RXhhbXBsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6QWRkRGF0YXNldEV4YW1wbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoQ3JlYXRlTWVtb3J5UmVjb3JkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQ3JlYXRlTWVtb3J5UmVjb3Jkczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpCYXRjaENyZWF0ZU1lbW9yeVJlY29yZHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVNZW1vcnlSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVNZW1vcnlSZWNvcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkJhdGNoRGVsZXRlTWVtb3J5UmVjb3Jkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaFB1dEdhdGV3YXlSYXRlTGltaXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hQdXRHYXRld2F5UmF0ZUxpbWl0czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpCYXRjaFB1dEdhdGV3YXlSYXRlTGltaXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoVXBkYXRlTWVtb3J5UmVjb3JkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlTWVtb3J5UmVjb3Jkczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpCYXRjaFVwZGF0ZU1lbW9yeVJlY29yZHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29tcGxldGVSZXNvdXJjZVRva2VuQXV0aCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlUmVzb3VyY2VUb2tlbkF1dGg6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q29tcGxldGVSZXNvdXJjZVRva2VuQXV0aFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBQlRlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBQlRlc3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQUJUZXN0XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWdlbnRSdW50aW1lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRSdW50aW1lOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUFnZW50UnVudGltZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQWdlbnRSdW50aW1lRW5kcG9pbnRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlBhc3NDYXBhY2l0eVByb3ZpZGVyXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFnZW50UnVudGltZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRSdW50aW1lRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQWdlbnRSdW50aW1lRW5kcG9pbnRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJyb3dzZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCcm93c2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUJyb3dzZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQnJvd3NlclByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCcm93c2VyUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVCcm93c2VyUHJvZmlsZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2FwYWNpdHlQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhcGFjaXR5UHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQ2FwYWNpdHlQcm92aWRlclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb2RlSW50ZXJwcmV0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2RlSW50ZXJwcmV0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlQ29kZUludGVycHJldGVyXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbmZpZ3VyYXRpb25CdW5kbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uQnVuZGxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUNvbmZpZ3VyYXRpb25CdW5kbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhc2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZURhdGFzZXRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFzZXRWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YXNldFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlRGF0YXNldFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXZhbHVhdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZhbHVhdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUV2YWx1YXRvclwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXZlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudDogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVFdmVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlR2F0ZXdheSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdhdGV3YXk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlR2F0ZXdheVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTeW5jaHJvbml6ZUdhdGV3YXlUYXJnZXRzXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVHYXRld2F5UmF0ZUxpbWl0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR2F0ZXdheVJhdGVMaW1pdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5UmF0ZUxpbWl0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUdhdGV3YXlSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR2F0ZXdheVJ1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlR2F0ZXdheVJ1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlR2F0ZXdheVRhcmdldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdhdGV3YXlUYXJnZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlR2F0ZXdheVRhcmdldFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3luY2hyb25pemVHYXRld2F5VGFyZ2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIYXJuZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSGFybmVzczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVBZ2VudFJ1bnRpbWVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUhhcm5lc3NcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZU1lbW9yeVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0TWVtb3J5XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUhhcm5lc3NFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUhhcm5lc3NFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVIYXJuZXNzRW5kcG9pbnRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1lbW9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1lbW9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVNZW1vcnlcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZU9hdXRoMkNyZWRlbnRpYWxQcm92aWRlclwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9ubGluZUV2YWx1YXRpb25Db25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZ1wiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQYXltZW50Q29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGF5bWVudENvbm5lY3Rvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQYXltZW50Q29ubmVjdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXJcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBheW1lbnRJbnN0cnVtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGF5bWVudEluc3RydW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlUGF5bWVudEluc3RydW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGF5bWVudE1hbmFnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXltZW50TWFuYWdlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQYXltZW50TWFuYWdlclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQYXltZW50U2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBheW1lbnRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZVBheW1lbnRTZXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBvbGljeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBvbGljeUVuZ2luZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBvbGljeUVuZ2luZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVQb2xpY3lFbmdpbmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVnaXN0cnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVSZWdpc3RyeVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVnaXN0cnlSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyeVJlY29yZDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVSZWdpc3RyeVJlY29yZFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVXb3JrbG9hZElkZW50aXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2xvYWRJZGVudGl0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVXb3JrbG9hZElkZW50aXR5XCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBQlRlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBQlRlc3Q6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQUJUZXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBZ2VudFJ1bnRpbWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFJ1bnRpbWU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQWdlbnRSdW50aW1lXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVBZ2VudFJ1bnRpbWVFbmRwb2ludFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlV29ya2xvYWRJZGVudGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBZ2VudFJ1bnRpbWVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50UnVudGltZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUFnZW50UnVudGltZUVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwaUtleUNyZWRlbnRpYWxQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQmF0Y2hFdmFsdWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQmF0Y2hFdmFsdWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUJhdGNoRXZhbHVhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVCcm93c2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQnJvd3Nlcjogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVCcm93c2VyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVCcm93c2VyUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJyb3dzZXJQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUJyb3dzZXJQcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNhcGFjaXR5UHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYXBhY2l0eVByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUNhcGFjaXR5UHJvdmlkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2FwYWNpdHlQcm92aWRlclNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYXBhY2l0eVByb3ZpZGVyU2Vzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVDYXBhY2l0eVByb3ZpZGVyU2Vzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb2RlSW50ZXJwcmV0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb2RlSW50ZXJwcmV0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlQ29kZUludGVycHJldGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyYXRpb25CdW5kbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uQnVuZGxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUNvbmZpZ3VyYXRpb25CdW5kbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGF0YXNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFzZXQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlRGF0YXNldFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGF0YXNldEV4YW1wbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YXNldEV4YW1wbGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZURhdGFzZXRFeGFtcGxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFdmFsdWF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmFsdWF0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlRXZhbHVhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV2ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXZlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlRXZlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUdhdGV3YXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHYXRld2F5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUdhdGV3YXlSYXRlTGltaXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHYXRld2F5UmF0ZUxpbWl0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXlSYXRlTGltaXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlR2F0ZXdheVJ1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHYXRld2F5UnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVHYXRld2F5UnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVHYXRld2F5VGFyZ2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR2F0ZXdheVRhcmdldDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVHYXRld2F5VGFyZ2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUhhcm5lc3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIYXJuZXNzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUFnZW50UnVudGltZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlSGFybmVzc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIYXJuZXNzRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIYXJuZXNzRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlSGFybmVzc0VuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1lbW9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1lbW9yeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVNZW1vcnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1lbW9yeVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1lbW9yeVJlY29yZDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVNZW1vcnlSZWNvcmRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZU9hdXRoMkNyZWRlbnRpYWxQcm92aWRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBheW1lbnRDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXltZW50Q29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVBheW1lbnRDb25uZWN0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQYXltZW50SW5zdHJ1bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBheW1lbnRJbnN0cnVtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVBheW1lbnRJbnN0cnVtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBheW1lbnRNYW5hZ2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGF5bWVudE1hbmFnZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUGF5bWVudE1hbmFnZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUGF5bWVudFNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXltZW50U2Vzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVQYXltZW50U2Vzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQb2xpY3k6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQb2xpY3lFbmdpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQb2xpY3lFbmdpbmU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUG9saWN5RW5naW5lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUmVjb21tZW5kYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVnaXN0cnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpEZWxldGVSZWdpc3RyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWdpc3RyeVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlZ2lzdHJ5UmVjb3JkOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZVJlZ2lzdHJ5UmVjb3JkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlV29ya2xvYWRJZGVudGl0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtsb2FkSWRlbnRpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlV29ya2xvYWRJZGVudGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFdmFsdWF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV2YWx1YXRlOiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkV2YWx1YXRlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBQlRlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFCVGVzdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRBQlRlc3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50Q2FyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRDYXJkOiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkdldEFnZW50Q2FyZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnRSdW50aW1lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudFJ1bnRpbWU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0QWdlbnRSdW50aW1lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50UnVudGltZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudFJ1bnRpbWVFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRBZ2VudFJ1bnRpbWVFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFwaUtleUNyZWRlbnRpYWxQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QmF0Y2hFdmFsdWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCYXRjaEV2YWx1YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0QmF0Y2hFdmFsdWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJyb3dzZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJyb3dzZXI6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6R2V0QnJvd3NlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QnJvd3NlclByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJyb3dzZXJQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldEJyb3dzZXJQcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJyb3dzZXJTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCcm93c2VyU2Vzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRCcm93c2VyU2Vzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDYXBhY2l0eVByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDYXBhY2l0eVByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldENhcGFjaXR5UHJvdmlkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29kZUludGVycHJldGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb2RlSW50ZXJwcmV0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0Q29kZUludGVycHJldGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvZGVJbnRlcnByZXRlclNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvZGVJbnRlcnByZXRlclNlc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0Q29kZUludGVycHJldGVyU2Vzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25maWd1cmF0aW9uQnVuZGxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25maWd1cmF0aW9uQnVuZGxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldENvbmZpZ3VyYXRpb25CdW5kbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJhdGlvbkJ1bmRsZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZpZ3VyYXRpb25CdW5kbGVWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldENvbmZpZ3VyYXRpb25CdW5kbGVWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERhdGFzZXQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6R2V0RGF0YXNldFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RXZhbHVhdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFdmFsdWF0b3I6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6R2V0RXZhbHVhdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFdmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RXZlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6R2V0RXZlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEdhdGV3YXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEdhdGV3YXk6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6R2V0R2F0ZXdheVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0R2F0ZXdheVJhdGVMaW1pdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0R2F0ZXdheVJhdGVMaW1pdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRHYXRld2F5UmF0ZUxpbWl0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEdhdGV3YXlSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRHYXRld2F5UnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRHYXRld2F5UnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRHYXRld2F5VGFyZ2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRHYXRld2F5VGFyZ2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldEdhdGV3YXlUYXJnZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SGFybmVzcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SGFybmVzczogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRIYXJuZXNzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRIYXJuZXNzRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEhhcm5lc3NFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRIYXJuZXNzRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWVtb3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNZW1vcnk6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6R2V0TWVtb3J5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNZW1vcnlSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1lbW9yeVJlY29yZDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRNZW1vcnlSZWNvcmRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0T2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0T2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9ubGluZUV2YWx1YXRpb25Db25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9ubGluZUV2YWx1YXRpb25Db25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0T25saW5lRXZhbHVhdGlvbkNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQYXltZW50Q29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQYXltZW50Q29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRDb25uZWN0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UGF5bWVudENyZWRlbnRpYWxQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UGF5bWVudENyZWRlbnRpYWxQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBheW1lbnRJbnN0cnVtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQYXltZW50SW5zdHJ1bWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50SW5zdHJ1bWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQYXltZW50SW5zdHJ1bWVudEJhbGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBheW1lbnRJbnN0cnVtZW50QmFsYW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50SW5zdHJ1bWVudEJhbGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UGF5bWVudE1hbmFnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBheW1lbnRNYW5hZ2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBheW1lbnRNYW5hZ2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBheW1lbnRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQYXltZW50U2Vzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQYXltZW50U2Vzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBvbGljeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBvbGljeUVuZ2luZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UG9saWN5RW5naW5lOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeUVuZ2luZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQb2xpY3lFbmdpbmVTdW1tYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQb2xpY3lFbmdpbmVTdW1tYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeUVuZ2luZVN1bW1hcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UG9saWN5R2VuZXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UG9saWN5R2VuZXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQb2xpY3lHZW5lcmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBvbGljeUdlbmVyYXRpb25TdW1tYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQb2xpY3lHZW5lcmF0aW9uU3VtbWFyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRQb2xpY3lHZW5lcmF0aW9uU3VtbWFyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQb2xpY3lTdW1tYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQb2xpY3lTdW1tYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFBvbGljeVN1bW1hcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb21tZW5kYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY29tbWVuZGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlY29tbWVuZGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlZ2lzdHJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWdpc3RyeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpHZXRSZWdpc3RyeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVnaXN0cnlSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlZ2lzdHJ5UmVjb3JkOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlZ2lzdHJ5UmVjb3JkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlQXBpS2V5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZUFwaUtleTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRSZXNvdXJjZUFwaUtleVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXNvdXJjZU9hdXRoMlRva2VuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZU9hdXRoMlRva2VuOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlc291cmNlT2F1dGgyVG9rZW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VQYXltZW50VG9rZW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlUGF5bWVudFRva2VuOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFJlc291cmNlUGF5bWVudFRva2VuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUb2tlblZhdWx0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUb2tlblZhdWx0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFRva2VuVmF1bHRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0V29ya2xvYWRBY2Nlc3NUb2tlbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0V29ya2xvYWRBY2Nlc3NUb2tlbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JKV1QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JKV1Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvckpXVFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9yVXNlcklkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9yVXNlcklkOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JVc2VySWRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0V29ya2xvYWRJZGVudGl0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0V29ya2xvYWRJZGVudGl0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpHZXRXb3JrbG9hZElkZW50aXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEluZ2VzdERhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbmdlc3REYXRhOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VBZ2VudFJ1bnRpbWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBZ2VudFJ1bnRpbWU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVGb3JVc2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZUFnZW50UnVudGltZUNvbW1hbmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBZ2VudFJ1bnRpbWVDb21tYW5kOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUNvbW1hbmRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlQnJvd3NlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJyb3dzZXI6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZUNvZGVJbnRlcnByZXRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUNvZGVJbnRlcnByZXRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VDb2RlSW50ZXJwcmV0ZXJcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN0YXJ0Q29kZUludGVycHJldGVyU2Vzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VIYXJuZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlSGFybmVzczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkludm9rZUhhcm5lc3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFCVGVzdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QUJUZXN0czogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QUJUZXN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjdG9ycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBY3RvcnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFjdG9yc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFnZW50UnVudGltZUVuZHBvaW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFJ1bnRpbWVFbmRwb2ludHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFnZW50UnVudGltZUVuZHBvaW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRSdW50aW1lVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRSdW50aW1lVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEFnZW50UnVudGltZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudFJ1bnRpbWVWZXJzaW9uc0J5Q2FwYWNpdHlQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFJ1bnRpbWVWZXJzaW9uc0J5Q2FwYWNpdHlQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QWdlbnRSdW50aW1lVmVyc2lvbnNCeUNhcGFjaXR5UHJvdmlkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFnZW50UnVudGltZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRSdW50aW1lczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QWdlbnRSdW50aW1lc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCYXRjaEV2YWx1YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJhdGNoRXZhbHVhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEJhdGNoRXZhbHVhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJyb3dzZXJQcm9maWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCcm93c2VyUHJvZmlsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEJyb3dzZXJQcm9maWxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QnJvd3NlclNlc3Npb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJyb3dzZXJTZXNzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QnJvd3NlclNlc3Npb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCcm93c2VycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCcm93c2Vyczogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0QnJvd3NlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDYXBhY2l0eVByb3ZpZGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDYXBhY2l0eVByb3ZpZGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0Q2FwYWNpdHlQcm92aWRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvZGVJbnRlcnByZXRlclNlc3Npb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvZGVJbnRlcnByZXRlclNlc3Npb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29kZUludGVycHJldGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2RlSW50ZXJwcmV0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RDb2RlSW50ZXJwcmV0ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25maWd1cmF0aW9uQnVuZGxlVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJhdGlvbkJ1bmRsZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RDb25maWd1cmF0aW9uQnVuZGxlVmVyc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbmZpZ3VyYXRpb25CdW5kbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyYXRpb25CdW5kbGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RDb25maWd1cmF0aW9uQnVuZGxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YXNldEV4YW1wbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFzZXRFeGFtcGxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0RGF0YXNldEV4YW1wbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhc2V0VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YXNldFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3REYXRhc2V0VmVyc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFzZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFzZXRzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkxpc3REYXRhc2V0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2YWx1YXRvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXZhbHVhdG9yczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0RXZhbHVhdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2ZW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0RXZlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R2F0ZXdheVJhdGVMaW1pdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R2F0ZXdheVJhdGVMaW1pdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEdhdGV3YXlSYXRlTGltaXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RHYXRld2F5UnVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R2F0ZXdheVJ1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RHYXRld2F5UnVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEdhdGV3YXlUYXJnZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdhdGV3YXlUYXJnZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RHYXRld2F5VGFyZ2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R2F0ZXdheXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R2F0ZXdheXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEdhdGV3YXlzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SGFybmVzc0VuZHBvaW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIYXJuZXNzRW5kcG9pbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RIYXJuZXNzRW5kcG9pbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIYXJuZXNzVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SGFybmVzc1ZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RIYXJuZXNzVmVyc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEhhcm5lc3NlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIYXJuZXNzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6TGlzdEhhcm5lc3Nlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1lbW9yaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbW9yaWVzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RNZW1vcmllc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1lbW9yeUV4dHJhY3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbW9yeUV4dHJhY3Rpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RNZW1vcnlFeHRyYWN0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWVtb3J5UmVjb3JkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZW1vcnlSZWNvcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RNZW1vcnlSZWNvcmRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9hdXRoMkNyZWRlbnRpYWxQcm92aWRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdE9hdXRoMkNyZWRlbnRpYWxQcm92aWRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9ubGluZUV2YWx1YXRpb25Db25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9ubGluZUV2YWx1YXRpb25Db25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RPbmxpbmVFdmFsdWF0aW9uQ29uZmlnc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGF5bWVudENvbm5lY3RvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGF5bWVudENvbm5lY3RvcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBheW1lbnRDb25uZWN0b3JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXltZW50Q3JlZGVudGlhbFByb3ZpZGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UGF5bWVudENyZWRlbnRpYWxQcm92aWRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBheW1lbnRJbnN0cnVtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXltZW50SW5zdHJ1bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBheW1lbnRJbnN0cnVtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGF5bWVudE1hbmFnZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBheW1lbnRNYW5hZ2Vyczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UGF5bWVudE1hbmFnZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQYXltZW50U2Vzc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGF5bWVudFNlc3Npb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQYXltZW50U2Vzc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBvbGljaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBvbGljaWVzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY2llc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBvbGljeUVuZ2luZVN1bW1hcmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY3lFbmdpbmVTdW1tYXJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBvbGljeUVuZ2luZVN1bW1hcmllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UG9saWN5RW5naW5lcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY3lFbmdpbmVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lFbmdpbmVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQb2xpY3lHZW5lcmF0aW9uQXNzZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBvbGljeUdlbmVyYXRpb25Bc3NldHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBvbGljeUdlbmVyYXRpb25Bc3NldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBvbGljeUdlbmVyYXRpb25TdW1tYXJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9saWN5R2VuZXJhdGlvblN1bW1hcmllczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0UG9saWN5R2VuZXJhdGlvblN1bW1hcmllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UG9saWN5R2VuZXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9saWN5R2VuZXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFBvbGljeUdlbmVyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQb2xpY3lTdW1tYXJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9saWN5U3VtbWFyaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RQb2xpY3lTdW1tYXJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29tbWVuZGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVnaXN0cmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWdpc3RyaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RSZWdpc3RyaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWdpc3RyeVJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVnaXN0cnlSZWNvcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RSZWdpc3RyeVJlY29yZHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlc3Npb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlc3Npb25zOiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOkxpc3RTZXNzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0V29ya2xvYWRJZGVudGl0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmtsb2FkSWRlbnRpdGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpMaXN0V29ya2xvYWRJZGVudGl0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFByb2Nlc3NQYXltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJvY2Vzc1BheW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6UHJvY2Vzc1BheW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpQdXRSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXRyaWV2ZU1lbW9yeVJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZU1lbW9yeVJlY29yZHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6UmV0cmlldmVNZW1vcnlSZWNvcmRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNhdmVCcm93c2VyU2Vzc2lvblByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTYXZlQnJvd3NlclNlc3Npb25Qcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlNhdmVCcm93c2VyU2Vzc2lvblByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VhcmNoUmVnaXN0cnlSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoUmVnaXN0cnlSZWNvcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlNlYXJjaFJlZ2lzdHJ5UmVjb3Jkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRUb2tlblZhdWx0Q01LIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRUb2tlblZhdWx0Q01LOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlNldFRva2VuVmF1bHRDTUtcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRCYXRjaEV2YWx1YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEJhdGNoRXZhbHVhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTdGFydEJhdGNoRXZhbHVhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEJyb3dzZXJTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRCcm93c2VyU2Vzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTdGFydEJyb3dzZXJTZXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Q29kZUludGVycHJldGVyU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Q29kZUludGVycHJldGVyU2Vzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTdGFydENvZGVJbnRlcnByZXRlclNlc3Npb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNZW1vcnlFeHRyYWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNZW1vcnlFeHRyYWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN0YXJ0TWVtb3J5RXh0cmFjdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFBvbGljeUdlbmVyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFBvbGljeUdlbmVyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3RhcnRQb2xpY3lHZW5lcmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UmVjb21tZW5kYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY29tbWVuZGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN0YXJ0UmVjb21tZW5kYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEJhdGNoRXZhbHVhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BCYXRjaEV2YWx1YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3RvcEJhdGNoRXZhbHVhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQnJvd3NlclNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQnJvd3NlclNlc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3RvcEJyb3dzZXJTZXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BDb2RlSW50ZXJwcmV0ZXJTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcENvZGVJbnRlcnByZXRlclNlc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6U3RvcENvZGVJbnRlcnByZXRlclNlc3Npb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFJ1bnRpbWVTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJ1bnRpbWVTZXNzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN0b3BSdW50aW1lU2Vzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRSZWdpc3RyeVJlY29yZEZvckFwcHJvdmFsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0UmVnaXN0cnlSZWNvcmRGb3JBcHByb3ZhbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpTdWJtaXRSZWdpc3RyeVJlY29yZEZvckFwcHJvdmFsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN5bmNocm9uaXplR2F0ZXdheVRhcmdldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTeW5jaHJvbml6ZUdhdGV3YXlUYXJnZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN5bmNocm9uaXplR2F0ZXdheVRhcmdldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrLWFnZW50Y29yZTpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jay1hZ2VudGNvcmU6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQUJUZXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQUJUZXN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQUJUZXN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50UnVudGltZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50UnVudGltZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpQYXNzQ2FwYWNpdHlQcm92aWRlclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVBZ2VudFJ1bnRpbWVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRSdW50aW1lRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFJ1bnRpbWVFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVBZ2VudFJ1bnRpbWVFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJyb3dzZXJTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCcm93c2VyU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUJyb3dzZXJTdHJlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ2FwYWNpdHlQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNhcGFjaXR5UHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlQ2FwYWNpdHlQcm92aWRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25maWd1cmF0aW9uQnVuZGxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJhdGlvbkJ1bmRsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVDb25maWd1cmF0aW9uQnVuZGxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURhdGFzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhc2V0OiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZURhdGFzZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURhdGFzZXRFeGFtcGxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFzZXRFeGFtcGxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVEYXRhc2V0RXhhbXBsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRXZhbHVhdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXZhbHVhdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUV2YWx1YXRvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHYXRld2F5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlR2F0ZXdheTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlR2F0ZXdheVJhdGVMaW1pdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUdhdGV3YXlSYXRlTGltaXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlR2F0ZXdheVJhdGVMaW1pdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHYXRld2F5UnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUdhdGV3YXlSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUdhdGV3YXlUYXJnZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHYXRld2F5VGFyZ2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlN5bmNocm9uaXplR2F0ZXdheVRhcmdldHNcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlUYXJnZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSGFybmVzcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUhhcm5lc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2V0TWVtb3J5XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUFnZW50UnVudGltZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlSGFybmVzc1wiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlTWVtb3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUhhcm5lc3NFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUhhcm5lc3NFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVIYXJuZXNzRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWVtb3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWVtb3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlTWVtb3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU9hdXRoMkNyZWRlbnRpYWxQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9hdXRoMkNyZWRlbnRpYWxQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlT25saW5lRXZhbHVhdGlvbkNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9ubGluZUV2YWx1YXRpb25Db25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVBheW1lbnRDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXltZW50Q29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBheW1lbnRDb25uZWN0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQYXltZW50TWFuYWdlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBheW1lbnRNYW5hZ2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6VXBkYXRlUGF5bWVudE1hbmFnZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9saWN5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUG9saWN5RW5naW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9saWN5RW5naW5lOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVBvbGljeUVuZ2luZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWdpc3RyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlZ2lzdHJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVJlZ2lzdHJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlZ2lzdHJ5UmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVnaXN0cnlSZWNvcmQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVSZWdpc3RyeVJlY29yZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWdpc3RyeVJlY29yZFN0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlZ2lzdHJ5UmVjb3JkU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVJlZ2lzdHJ5UmVjb3JkU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVdvcmtsb2FkSWRlbnRpdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrbG9hZElkZW50aXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZVdvcmtsb2FkSWRlbnRpdHlcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGJlZHJvY2stYWdlbnRjb3JlLlxuICovXG5leHBvcnQgY2xhc3MgQmVkcm9ja0FnZW50Y29yZUNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQmF0Y2hDcmVhdGVNZW1vcnlSZWNvcmRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQ3JlYXRlTWVtb3J5UmVjb3Jkc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6bmFtZXNwYWNlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBCYXRjaFVwZGF0ZU1lbW9yeVJlY29yZHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hVcGRhdGVNZW1vcnlSZWNvcmRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpuYW1lc3BhY2VcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENvbXBsZXRlUmVzb3VyY2VUb2tlbkF1dGggYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29tcGxldGVSZXNvdXJjZVRva2VuQXV0aENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL2F1ZFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL2NsaWVudF9pZFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL2lzc1wiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL3Njb3BlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vc3ViXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTp1c2VyaWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFnZW50UnVudGltZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudFJ1bnRpbWVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlJ1bnRpbWVBdXRob3JpemVyVHlwZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6c2VjdXJpdHlHcm91cHNcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOnN1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFnZW50UnVudGltZUVuZHBvaW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50UnVudGltZUVuZHBvaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVCcm93c2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJyb3dzZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOnNlY3VyaXR5R3JvdXBzXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpzdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVCcm93c2VyUHJvZmlsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCcm93c2VyUHJvZmlsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2FwYWNpdHlQcm92aWRlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYXBhY2l0eVByb3ZpZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb2RlSW50ZXJwcmV0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29kZUludGVycHJldGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpzZWN1cml0eUdyb3Vwc1wiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6c3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YXNldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhc2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFdmFsdWF0b3IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZhbHVhdG9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFdmVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6YWN0b3JJZFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6c2Vzc2lvbklkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVHYXRld2F5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdhdGV3YXlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUhhcm5lc3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSGFybmVzc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSGFybmVzc0VuZHBvaW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUhhcm5lc3NFbmRwb2ludENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTWVtb3J5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1lbW9yeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6S21zS2V5QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVPYXV0aDJDcmVkZW50aWFsUHJvdmlkZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT2F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVPbmxpbmVFdmFsdWF0aW9uQ29uZmlnIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9ubGluZUV2YWx1YXRpb25Db25maWdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVBheW1lbnRDcmVkZW50aWFsUHJvdmlkZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGF5bWVudENyZWRlbnRpYWxQcm92aWRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUGF5bWVudE1hbmFnZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGF5bWVudE1hbmFnZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkRpc2NvdmVyeVVybFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUG9saWN5RW5naW5lIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBvbGljeUVuZ2luZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlV29ya2xvYWRJZGVudGl0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrbG9hZElkZW50aXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVFdmVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6YWN0b3JJZFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6c2Vzc2lvbklkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRFdmVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFdmVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6YWN0b3JJZFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6c2Vzc2lvbklkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9ySldUIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JKV1RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9hdWRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9jbGllbnRfaWRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9pc3NcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9zY29wZVwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL3N1YlwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvclVzZXJJZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9yVXNlcklkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImJlZHJvY2stYWdlbnRjb3JlOnVzZXJpZFwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RFdmVudHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2ZW50c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6YWN0b3JJZFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6c2Vzc2lvbklkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0TWVtb3J5UmVjb3JkcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWVtb3J5UmVjb3Jkc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6bmFtZXNwYWNlXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpzdHJhdGVneUlkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0U2Vzc2lvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlc3Npb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTphY3RvcklkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRTeXN0ZW1Mb2dFdmVudHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U3lzdGVtTG9nRXZlbnRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpydW50aW1lU2Vzc2lvbklkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZXRyaWV2ZU1lbW9yeVJlY29yZHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmVNZW1vcnlSZWNvcmRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpuYW1lc3BhY2VcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOnN0cmF0ZWd5SWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0TWVtb3J5RXh0cmFjdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1lbW9yeUV4dHJhY3Rpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOmFjdG9ySWRcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOnNlc3Npb25JZFwiLFxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6c3RyYXRlZ3lJZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVBZ2VudFJ1bnRpbWUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRSdW50aW1lQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpSdW50aW1lQXV0aG9yaXplclR5cGVcIixcblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOnNlY3VyaXR5R3JvdXBzXCIsXG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpzdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVQYXltZW50TWFuYWdlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXltZW50TWFuYWdlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6RGlzY292ZXJ5VXJsXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6QWxsb3dlZFF1ZXJ5UGFyYW1ldGVycyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFMTE9XRURfUVVFUllfUEFSQU1FVEVSUyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpBbGxvd2VkUXVlcnlQYXJhbWV0ZXJzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpBbGxvd2VkUmVxdWVzdEhlYWRlcnMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBTExPV0VEX1JFUVVFU1RfSEVBREVSUyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpBbGxvd2VkUmVxdWVzdEhlYWRlcnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOkFsbG93ZWRSZXNwb25zZUhlYWRlcnMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBTExPV0VEX1JFU1BPTlNFX0hFQURFUlMgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6QWxsb3dlZFJlc3BvbnNlSGVhZGVyc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6Q3JlZGVudGlhbFByb3ZpZGVyU2NvcGUgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDUkVERU5USUFMX1BST1ZJREVSX1NDT1BFID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkNyZWRlbnRpYWxQcm92aWRlclNjb3BlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpDcmVkZW50aWFsUHJvdmlkZXJUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDUkVERU5USUFMX1BST1ZJREVSX1RZUEUgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlZGVudGlhbFByb3ZpZGVyVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6RGlzY292ZXJ5VXJsIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBESVNDT1ZFUllfVVJMID0gXCJiZWRyb2NrLWFnZW50Y29yZTpEaXNjb3ZlcnlVcmxcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOkdhdGV3YXlBdXRob3JpemVyVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR0FURVdBWV9BVVRIT1JJWkVSX1RZUEUgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6R2F0ZXdheUF1dGhvcml6ZXJUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpIdHRwVGFyZ2V0Q29uZmlndXJhdGlvblR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEhUVFBfVEFSR0VUX0NPTkZJR1VSQVRJT05fVFlQRSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpIdHRwVGFyZ2V0Q29uZmlndXJhdGlvblR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9hdWQgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTkJPVU5EX0pXVF9DTEFJTV9BVUQgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL2F1ZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL2NsaWVudF9pZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5CT1VORF9KV1RfQ0xBSU1fQ0xJRU5UX0lEID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9jbGllbnRfaWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9pc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IElOQk9VTkRfSldUX0NMQUlNX0lTUyA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vaXNzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vc2NvcGUgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTkJPVU5EX0pXVF9DTEFJTV9TQ09QRSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vc2NvcGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9zdWIgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IElOQk9VTkRfSldUX0NMQUlNX1NVQiA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vc3ViXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpJbmZlcmVuY2VUYXJnZXRDb25maWd1cmF0aW9uVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5GRVJFTkNFX1RBUkdFVF9DT05GSUdVUkFUSU9OX1RZUEUgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5mZXJlbmNlVGFyZ2V0Q29uZmlndXJhdGlvblR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOkttc0tleUFybiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgS01TX0tFWV9BUk4gPSBcImJlZHJvY2stYWdlbnRjb3JlOkttc0tleUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6TWNwVGFyZ2V0Q29uZmlndXJhdGlvblR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1DUF9UQVJHRVRfQ09ORklHVVJBVElPTl9UWVBFID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOk1jcFRhcmdldENvbmZpZ3VyYXRpb25UeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpQb2xpY3lFbmdpbmVBcm4gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBPTElDWV9FTkdJTkVfQVJOID0gXCJiZWRyb2NrLWFnZW50Y29yZTpQb2xpY3lFbmdpbmVBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOlBvbGljeUVuZ2luZU1vZGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBPTElDWV9FTkdJTkVfTU9ERSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6UG9saWN5RW5naW5lTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6UHJpdmF0ZUVuZHBvaW50VHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJJVkFURV9FTkRQT0lOVF9UWVBFID1cblx0XHRcImJlZHJvY2stYWdlbnRjb3JlOlByaXZhdGVFbmRwb2ludFR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOlByb3RvY29sVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPVE9DT0xfVFlQRSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6UHJvdG9jb2xUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpSZXNvdXJjZUNvbmZpZ3VyYXRpb25JZGVudGlmaWVyIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9DT05GSUdVUkFUSU9OX0lERU5USUZJRVIgPVxuXHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6UmVzb3VyY2VDb25maWd1cmF0aW9uSWRlbnRpZmllclwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6UnVudGltZUF1dGhvcml6ZXJUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSVU5USU1FX0FVVEhPUklaRVJfVFlQRSA9XG5cdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpSdW50aW1lQXV0aG9yaXplclR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOmFjdG9ySWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFDVE9SX0lEID0gXCJiZWRyb2NrLWFnZW50Y29yZTphY3RvcklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpuYW1lc3BhY2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5BTUVTUEFDRSA9IFwiYmVkcm9jay1hZ2VudGNvcmU6bmFtZXNwYWNlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpydW50aW1lU2Vzc2lvbklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSVU5USU1FX1NFU1NJT05fSUQgPSBcImJlZHJvY2stYWdlbnRjb3JlOnJ1bnRpbWVTZXNzaW9uSWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOnNlY3VyaXR5R3JvdXBzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VDVVJJVFlfR1JPVVBTID0gXCJiZWRyb2NrLWFnZW50Y29yZTpzZWN1cml0eUdyb3Vwc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6c2Vzc2lvbklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTRVNTSU9OX0lEID0gXCJiZWRyb2NrLWFnZW50Y29yZTpzZXNzaW9uSWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2stYWdlbnRjb3JlOnN0cmF0ZWd5SWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNUUkFURUdZX0lEID0gXCJiZWRyb2NrLWFnZW50Y29yZTpzdHJhdGVneUlkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrLWFnZW50Y29yZTpzdWJuZXRzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU1VCTkVUUyA9IFwiYmVkcm9jay1hZ2VudGNvcmU6c3VibmV0c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jay1hZ2VudGNvcmU6dXNlcmlkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBVU0VSSUQgPSBcImJlZHJvY2stYWdlbnRjb3JlOnVzZXJpZFwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpBbGxvd2VkUXVlcnlQYXJhbWV0ZXJzYC5cblx0ICovXG5cdHN0YXRpYyBhbGxvd2VkUXVlcnlQYXJhbWV0ZXJzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkFsbG93ZWRRdWVyeVBhcmFtZXRlcnNcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOkFsbG93ZWRSZXF1ZXN0SGVhZGVyc2AuXG5cdCAqL1xuXHRzdGF0aWMgYWxsb3dlZFJlcXVlc3RIZWFkZXJzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkFsbG93ZWRSZXF1ZXN0SGVhZGVyc1wiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6QWxsb3dlZFJlc3BvbnNlSGVhZGVyc2AuXG5cdCAqL1xuXHRzdGF0aWMgYWxsb3dlZFJlc3BvbnNlSGVhZGVycyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpBbGxvd2VkUmVzcG9uc2VIZWFkZXJzXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpDcmVkZW50aWFsUHJvdmlkZXJTY29wZWAuXG5cdCAqL1xuXHRzdGF0aWMgY3JlZGVudGlhbFByb3ZpZGVyU2NvcGUoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7XG5cdFx0XHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6Q3JlZGVudGlhbFByb3ZpZGVyU2NvcGVcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOkNyZWRlbnRpYWxQcm92aWRlclR5cGVgLlxuXHQgKi9cblx0c3RhdGljIGNyZWRlbnRpYWxQcm92aWRlclR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpDcmVkZW50aWFsUHJvdmlkZXJUeXBlXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpEaXNjb3ZlcnlVcmxgLlxuXHQgKi9cblx0c3RhdGljIGRpc2NvdmVyeVVSTCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2stYWdlbnRjb3JlOkRpc2NvdmVyeVVybFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6R2F0ZXdheUF1dGhvcml6ZXJUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBnYXRld2F5QXV0aG9yaXplclR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpHYXRld2F5QXV0aG9yaXplclR5cGVcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOkh0dHBUYXJnZXRDb25maWd1cmF0aW9uVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgaHR0cFRhcmdldENvbmZpZ3VyYXRpb25UeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6SHR0cFRhcmdldENvbmZpZ3VyYXRpb25UeXBlXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vYXVkYC5cblx0ICovXG5cdHN0YXRpYyBpbmJvdW5kSnd0Q2xhaW1BdWQoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7XG5cdFx0XHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL2F1ZFwiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL2NsaWVudF9pZGAuXG5cdCAqL1xuXHRzdGF0aWMgaW5ib3VuZEp3dENsYWltQ2xpZW50SWQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vY2xpZW50X2lkXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vaXNzYC5cblx0ICovXG5cdHN0YXRpYyBpbmJvdW5kSnd0Q2xhaW1Jc3MoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9pc3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9zY29wZWAuXG5cdCAqL1xuXHRzdGF0aWMgaW5ib3VuZEp3dENsYWltU2NvcGUoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7XG5cdFx0XHRcdFwiYmVkcm9jay1hZ2VudGNvcmU6SW5ib3VuZEp3dENsYWltL3Njb3BlXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpJbmJvdW5kSnd0Q2xhaW0vc3ViYC5cblx0ICovXG5cdHN0YXRpYyBpbmJvdW5kSnd0Q2xhaW1TdWIoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2stYWdlbnRjb3JlOkluYm91bmRKd3RDbGFpbS9zdWJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOkluZmVyZW5jZVRhcmdldENvbmZpZ3VyYXRpb25UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBpbmZlcmVuY2VUYXJnZXRDb25maWd1cmF0aW9uVHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczoge1xuXHRcdFx0XHRcImJlZHJvY2stYWdlbnRjb3JlOkluZmVyZW5jZVRhcmdldENvbmZpZ3VyYXRpb25UeXBlXCI6IHZhbHVlLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOkttc0tleUFybmAuXG5cdCAqL1xuXHRzdGF0aWMga21zS2V5QVJOKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6S21zS2V5QXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpNY3BUYXJnZXRDb25maWd1cmF0aW9uVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgbWNwVGFyZ2V0Q29uZmlndXJhdGlvblR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpNY3BUYXJnZXRDb25maWd1cmF0aW9uVHlwZVwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6UG9saWN5RW5naW5lQXJuYC5cblx0ICovXG5cdHN0YXRpYyBwb2xpY3lFbmdpbmVBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2stYWdlbnRjb3JlOlBvbGljeUVuZ2luZUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6UG9saWN5RW5naW5lTW9kZWAuXG5cdCAqL1xuXHRzdGF0aWMgcG9saWN5RW5naW5lTW9kZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6UG9saWN5RW5naW5lTW9kZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6UHJpdmF0ZUVuZHBvaW50VHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgcHJpdmF0ZUVuZHBvaW50VHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6UHJpdmF0ZUVuZHBvaW50VHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6UHJvdG9jb2xUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBwcm90b2NvbFR5cGUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpQcm90b2NvbFR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOlJlc291cmNlQ29uZmlndXJhdGlvbklkZW50aWZpZXJgLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlQ29uZmlndXJhdGlvbklkZW50aWZpZXIoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHtcblx0XHRcdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpSZXNvdXJjZUNvbmZpZ3VyYXRpb25JZGVudGlmaWVyXCI6IHZhbHVlLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOlJ1bnRpbWVBdXRob3JpemVyVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgcnVudGltZUF1dGhvcml6ZXJUeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6UnVudGltZUF1dGhvcml6ZXJUeXBlXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTphY3RvcklkYC5cblx0ICovXG5cdHN0YXRpYyBhY3RvcklkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jay1hZ2VudGNvcmU6YWN0b3JJZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6bmFtZXNwYWNlYC5cblx0ICovXG5cdHN0YXRpYyBuYW1lc3BhY2UodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpuYW1lc3BhY2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOnJ1bnRpbWVTZXNzaW9uSWRgLlxuXHQgKi9cblx0c3RhdGljIHJ1bnRpbWVTZXNzaW9uSWQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2stYWdlbnRjb3JlOnJ1bnRpbWVTZXNzaW9uSWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOnNlY3VyaXR5R3JvdXBzYC5cblx0ICovXG5cdHN0YXRpYyBzZWN1cml0eUdyb3Vwcyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJiZWRyb2NrLWFnZW50Y29yZTpzZWN1cml0eUdyb3Vwc1wiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6c2Vzc2lvbklkYC5cblx0ICovXG5cdHN0YXRpYyBzZXNzaW9uSWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpzZXNzaW9uSWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2stYWdlbnRjb3JlOnN0cmF0ZWd5SWRgLlxuXHQgKi9cblx0c3RhdGljIHN0cmF0ZWd5SWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpzdHJhdGVneUlkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrLWFnZW50Y29yZTpzdWJuZXRzYC5cblx0ICovXG5cdHN0YXRpYyBzdWJuZXRzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTpzdWJuZXRzXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jay1hZ2VudGNvcmU6dXNlcmlkYC5cblx0ICovXG5cdHN0YXRpYyB1c2VyaWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrLWFnZW50Y29yZTp1c2VyaWRcIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=