@cdk_utils/iam 1.27.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/.jsii +2 -2
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +4 -4
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +4 -4
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +4 -4
  64. package/lib/generated/services/bedrock-mantle.js +3 -3
  65. package/lib/generated/services/bedrock-websearch.js +2 -2
  66. package/lib/generated/services/bedrock.js +5 -6
  67. package/lib/generated/services/billing.js +4 -4
  68. package/lib/generated/services/billingconductor.d.ts +16 -0
  69. package/lib/generated/services/billingconductor.js +31 -5
  70. package/lib/generated/services/braket.js +4 -4
  71. package/lib/generated/services/budgets.js +4 -4
  72. package/lib/generated/services/bugbust.js +3 -3
  73. package/lib/generated/services/cases.js +4 -4
  74. package/lib/generated/services/cassandra.js +4 -4
  75. package/lib/generated/services/ce.js +4 -4
  76. package/lib/generated/services/chatbot.js +4 -4
  77. package/lib/generated/services/chime.js +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.d.ts +737 -0
  91. package/lib/generated/services/cloudwatch.js +845 -7
  92. package/lib/generated/services/codeartifact.js +4 -4
  93. package/lib/generated/services/codebuild.js +4 -4
  94. package/lib/generated/services/codecatalyst.js +4 -4
  95. package/lib/generated/services/codecommit.js +4 -4
  96. package/lib/generated/services/codeconnections.js +4 -4
  97. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  98. package/lib/generated/services/codedeploy.js +4 -4
  99. package/lib/generated/services/codeguru-profiler.js +4 -4
  100. package/lib/generated/services/codeguru-reviewer.js +4 -4
  101. package/lib/generated/services/codeguru-security.js +4 -4
  102. package/lib/generated/services/codeguru.js +1 -1
  103. package/lib/generated/services/codepipeline.js +4 -4
  104. package/lib/generated/services/codestar-connections.js +4 -4
  105. package/lib/generated/services/codestar-notifications.js +4 -4
  106. package/lib/generated/services/codestar.js +3 -3
  107. package/lib/generated/services/codewhisperer.js +3 -3
  108. package/lib/generated/services/cognito-identity.js +4 -4
  109. package/lib/generated/services/cognito-idp.js +4 -4
  110. package/lib/generated/services/cognito-sync.js +3 -3
  111. package/lib/generated/services/comprehend.js +4 -4
  112. package/lib/generated/services/comprehendmedical.js +3 -3
  113. package/lib/generated/services/compute-optimizer.js +3 -3
  114. package/lib/generated/services/config.js +4 -4
  115. package/lib/generated/services/connect-campaigns.js +4 -4
  116. package/lib/generated/services/connect.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.js +4 -4
  148. package/lib/generated/services/ec2messages.js +2 -2
  149. package/lib/generated/services/ecr-public.js +4 -4
  150. package/lib/generated/services/ecr.js +4 -4
  151. package/lib/generated/services/ecs-mcp.js +1 -1
  152. package/lib/generated/services/ecs.js +4 -4
  153. package/lib/generated/services/eks-auth.js +4 -4
  154. package/lib/generated/services/eks-mcp.js +1 -1
  155. package/lib/generated/services/eks.js +4 -4
  156. package/lib/generated/services/elasticache.js +4 -4
  157. package/lib/generated/services/elasticbeanstalk.js +4 -4
  158. package/lib/generated/services/elasticfilesystem.js +4 -4
  159. package/lib/generated/services/elasticloadbalancing.js +4 -4
  160. package/lib/generated/services/elasticmapreduce.js +4 -4
  161. package/lib/generated/services/elastictranscoder.js +2 -2
  162. package/lib/generated/services/elemental-activations.js +1 -1
  163. package/lib/generated/services/elemental-appliances-software.js +2 -2
  164. package/lib/generated/services/elemental-inference.js +4 -4
  165. package/lib/generated/services/elemental-support-cases.js +3 -3
  166. package/lib/generated/services/elemental-support-content.js +1 -1
  167. package/lib/generated/services/emr-containers.js +4 -4
  168. package/lib/generated/services/emr-serverless.js +4 -4
  169. package/lib/generated/services/entityresolution.js +4 -4
  170. package/lib/generated/services/es.js +4 -4
  171. package/lib/generated/services/events.js +4 -4
  172. package/lib/generated/services/eventsbilltoaws.js +3 -3
  173. package/lib/generated/services/evidently.js +3 -3
  174. package/lib/generated/services/evs.js +4 -4
  175. package/lib/generated/services/execute-api.js +4 -4
  176. package/lib/generated/services/finops-agent.js +1 -1
  177. package/lib/generated/services/finspace-api.js +3 -3
  178. package/lib/generated/services/finspace.js +4 -4
  179. package/lib/generated/services/firehose.js +4 -4
  180. package/lib/generated/services/fis.js +4 -4
  181. package/lib/generated/services/fms.js +4 -4
  182. package/lib/generated/services/forecast.js +4 -4
  183. package/lib/generated/services/frauddetector.js +4 -4
  184. package/lib/generated/services/freertos.js +3 -3
  185. package/lib/generated/services/freetier.js +2 -2
  186. package/lib/generated/services/fsx.js +4 -4
  187. package/lib/generated/services/gamelift.js +4 -4
  188. package/lib/generated/services/gameliftstreams.js +4 -4
  189. package/lib/generated/services/geo-maps.js +3 -3
  190. package/lib/generated/services/geo-places.js +3 -3
  191. package/lib/generated/services/geo-routes.js +3 -3
  192. package/lib/generated/services/geo.js +4 -4
  193. package/lib/generated/services/glacier.js +4 -4
  194. package/lib/generated/services/globalaccelerator.js +4 -4
  195. package/lib/generated/services/glue.js +4 -4
  196. package/lib/generated/services/grafana.js +4 -4
  197. package/lib/generated/services/greengrass.js +4 -4
  198. package/lib/generated/services/groundstation.js +4 -4
  199. package/lib/generated/services/groundtruthlabeling.js +1 -1
  200. package/lib/generated/services/guardduty.js +4 -4
  201. package/lib/generated/services/health-agent.js +4 -4
  202. package/lib/generated/services/health.js +4 -4
  203. package/lib/generated/services/healthlake.js +4 -4
  204. package/lib/generated/services/honeycode.js +2 -2
  205. package/lib/generated/services/iam.js +4 -4
  206. package/lib/generated/services/identity-sync.js +2 -2
  207. package/lib/generated/services/identitystore-auth.js +1 -1
  208. package/lib/generated/services/identitystore.js +4 -4
  209. package/lib/generated/services/imagebuilder.js +4 -4
  210. package/lib/generated/services/importexport.js +2 -2
  211. package/lib/generated/services/inspector-scan.js +2 -2
  212. package/lib/generated/services/inspector.js +2 -2
  213. package/lib/generated/services/inspector2-telemetry.js +1 -1
  214. package/lib/generated/services/inspector2.js +4 -4
  215. package/lib/generated/services/interconnect.js +4 -4
  216. package/lib/generated/services/internetmonitor.js +4 -4
  217. package/lib/generated/services/invoicing.js +4 -4
  218. package/lib/generated/services/iot-device-tester.js +1 -1
  219. package/lib/generated/services/iot.js +4 -4
  220. package/lib/generated/services/iotanalytics.js +3 -3
  221. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  222. package/lib/generated/services/iotevents.js +3 -3
  223. package/lib/generated/services/iotfleethub.js +3 -3
  224. package/lib/generated/services/iotfleetwise.js +4 -4
  225. package/lib/generated/services/iotjobsdata.js +4 -4
  226. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  227. package/lib/generated/services/iotsitewise.js +4 -4
  228. package/lib/generated/services/iottwinmaker.js +4 -4
  229. package/lib/generated/services/iotwireless.js +4 -4
  230. package/lib/generated/services/iq-permission.js +2 -2
  231. package/lib/generated/services/iq.js +2 -2
  232. package/lib/generated/services/ivs.js +4 -4
  233. package/lib/generated/services/ivschat.js +4 -4
  234. package/lib/generated/services/kafka-cluster.js +3 -3
  235. package/lib/generated/services/kafka.js +4 -4
  236. package/lib/generated/services/kafkaconnect.js +4 -4
  237. package/lib/generated/services/kendra-ranking.js +4 -4
  238. package/lib/generated/services/kendra.js +4 -4
  239. package/lib/generated/services/kinesis.js +4 -4
  240. package/lib/generated/services/kinesisanalytics.js +4 -4
  241. package/lib/generated/services/kinesisvideo.js +4 -4
  242. package/lib/generated/services/kms.js +4 -4
  243. package/lib/generated/services/lakeformation.js +3 -3
  244. package/lib/generated/services/lambda.js +4 -4
  245. package/lib/generated/services/launchwizard.js +4 -4
  246. package/lib/generated/services/lex.js +4 -4
  247. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  248. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  249. package/lib/generated/services/license-manager.js +4 -4
  250. package/lib/generated/services/lightsail.js +4 -4
  251. package/lib/generated/services/logs.js +4 -4
  252. package/lib/generated/services/lookoutequipment.js +4 -4
  253. package/lib/generated/services/lookoutmetrics.js +3 -3
  254. package/lib/generated/services/lookoutvision.js +3 -3
  255. package/lib/generated/services/m2.js +4 -4
  256. package/lib/generated/services/machinelearning.js +3 -3
  257. package/lib/generated/services/macie2.js +4 -4
  258. package/lib/generated/services/managedblockchain-query.js +2 -2
  259. package/lib/generated/services/managedblockchain.js +4 -4
  260. package/lib/generated/services/mapcredits.js +2 -2
  261. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  262. package/lib/generated/services/mechanicalturk.js +2 -2
  263. package/lib/generated/services/mediaconnect.js +4 -4
  264. package/lib/generated/services/mediaconvert.js +4 -4
  265. package/lib/generated/services/mediaimport.js +1 -1
  266. package/lib/generated/services/medialive.js +4 -4
  267. package/lib/generated/services/mediapackage-vod.js +4 -4
  268. package/lib/generated/services/mediapackage.js +4 -4
  269. package/lib/generated/services/mediapackagev2.js +4 -4
  270. package/lib/generated/services/mediastore.js +4 -4
  271. package/lib/generated/services/mediatailor.js +4 -4
  272. package/lib/generated/services/medical-imaging.js +4 -4
  273. package/lib/generated/services/memorydb.js +4 -4
  274. package/lib/generated/services/mgh.js +4 -4
  275. package/lib/generated/services/mgn.js +4 -4
  276. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  277. package/lib/generated/services/migrationhub-strategy.js +2 -2
  278. package/lib/generated/services/mobileanalytics.js +1 -1
  279. package/lib/generated/services/mobiletargeting.js +4 -4
  280. package/lib/generated/services/monitron.js +3 -3
  281. package/lib/generated/services/mpa.js +4 -4
  282. package/lib/generated/services/mq.js +4 -4
  283. package/lib/generated/services/neptune-db.js +4 -4
  284. package/lib/generated/services/neptune-graph.js +4 -4
  285. package/lib/generated/services/network-firewall.js +4 -4
  286. package/lib/generated/services/network-security-director.js +1 -1
  287. package/lib/generated/services/networkflowmonitor.js +4 -4
  288. package/lib/generated/services/networkmanager-chat.js +1 -1
  289. package/lib/generated/services/networkmanager.js +4 -4
  290. package/lib/generated/services/networkmonitor.js +4 -4
  291. package/lib/generated/services/nimble.js +3 -3
  292. package/lib/generated/services/notifications-contacts.js +4 -4
  293. package/lib/generated/services/notifications.js +4 -4
  294. package/lib/generated/services/nova-act.js +3 -3
  295. package/lib/generated/services/oam.js +4 -4
  296. package/lib/generated/services/observabilityadmin.js +4 -4
  297. package/lib/generated/services/odb.js +4 -4
  298. package/lib/generated/services/omics.d.ts +6 -0
  299. package/lib/generated/services/omics.js +20 -5
  300. package/lib/generated/services/one.js +3 -3
  301. package/lib/generated/services/opensearch.js +3 -3
  302. package/lib/generated/services/opsworks-cm.js +2 -2
  303. package/lib/generated/services/opsworks.js +2 -2
  304. package/lib/generated/services/organizations.js +4 -4
  305. package/lib/generated/services/osis.js +4 -4
  306. package/lib/generated/services/outposts.js +4 -4
  307. package/lib/generated/services/panorama.js +3 -3
  308. package/lib/generated/services/partnercentral-account-management.js +2 -2
  309. package/lib/generated/services/partnercentral.js +4 -4
  310. package/lib/generated/services/payment-cryptography.js +4 -4
  311. package/lib/generated/services/payments.js +3 -3
  312. package/lib/generated/services/pca-connector-ad.js +4 -4
  313. package/lib/generated/services/pca-connector-scep.js +4 -4
  314. package/lib/generated/services/pcs.js +4 -4
  315. package/lib/generated/services/personalize.js +4 -4
  316. package/lib/generated/services/pi.js +4 -4
  317. package/lib/generated/services/pipes.js +4 -4
  318. package/lib/generated/services/polly.js +3 -3
  319. package/lib/generated/services/pricing.js +2 -2
  320. package/lib/generated/services/pricingplanmanager.js +3 -3
  321. package/lib/generated/services/private-networks.js +3 -3
  322. package/lib/generated/services/profile.js +4 -4
  323. package/lib/generated/services/proton.js +4 -4
  324. package/lib/generated/services/purchase-orders.js +3 -3
  325. package/lib/generated/services/q.js +3 -3
  326. package/lib/generated/services/qapps.js +4 -4
  327. package/lib/generated/services/qbusiness.js +4 -4
  328. package/lib/generated/services/qdeveloper.js +3 -3
  329. package/lib/generated/services/qldb.js +3 -3
  330. package/lib/generated/services/quicksight.js +4 -4
  331. package/lib/generated/services/ram.js +4 -4
  332. package/lib/generated/services/rbin.js +4 -4
  333. package/lib/generated/services/rds-data.js +4 -4
  334. package/lib/generated/services/rds-db.js +2 -2
  335. package/lib/generated/services/rds.js +4 -4
  336. package/lib/generated/services/redshift-data.js +4 -4
  337. package/lib/generated/services/redshift-serverless.js +4 -4
  338. package/lib/generated/services/redshift.js +4 -4
  339. package/lib/generated/services/refactor-spaces.js +4 -4
  340. package/lib/generated/services/rekognition.js +4 -4
  341. package/lib/generated/services/repostspace.js +4 -4
  342. package/lib/generated/services/researchstudio.js +1 -1
  343. package/lib/generated/services/resiliencehub.js +4 -4
  344. package/lib/generated/services/resource-explorer-2.js +4 -4
  345. package/lib/generated/services/resource-explorer.js +1 -1
  346. package/lib/generated/services/resource-groups.js +4 -4
  347. package/lib/generated/services/rhelkb.js +1 -1
  348. package/lib/generated/services/robomaker.js +3 -3
  349. package/lib/generated/services/rolesanywhere.js +4 -4
  350. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  351. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  352. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  353. package/lib/generated/services/route53.js +4 -4
  354. package/lib/generated/services/route53domains.js +2 -2
  355. package/lib/generated/services/route53globalresolver.js +4 -4
  356. package/lib/generated/services/route53profiles.js +4 -4
  357. package/lib/generated/services/route53resolver.js +4 -4
  358. package/lib/generated/services/rtbfabric.js +4 -4
  359. package/lib/generated/services/rum.js +4 -4
  360. package/lib/generated/services/s3-object-lambda.js +3 -3
  361. package/lib/generated/services/s3-outposts.js +4 -4
  362. package/lib/generated/services/s3.js +4 -4
  363. package/lib/generated/services/s3express.js +3 -3
  364. package/lib/generated/services/s3files.js +4 -4
  365. package/lib/generated/services/s3tables.js +4 -4
  366. package/lib/generated/services/s3vectors.js +4 -4
  367. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  368. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  369. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  370. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  371. package/lib/generated/services/sagemaker.js +4 -4
  372. package/lib/generated/services/savingsplans.js +4 -4
  373. package/lib/generated/services/scheduler.js +4 -4
  374. package/lib/generated/services/schemas.js +4 -4
  375. package/lib/generated/services/scn.js +4 -4
  376. package/lib/generated/services/sdb.js +3 -3
  377. package/lib/generated/services/secretsmanager.js +4 -4
  378. package/lib/generated/services/security-ir.js +4 -4
  379. package/lib/generated/services/securityagent.js +4 -4
  380. package/lib/generated/services/securityhub.js +4 -4
  381. package/lib/generated/services/securitylake.js +4 -4
  382. package/lib/generated/services/serverlessrepo.js +4 -4
  383. package/lib/generated/services/servicecatalog.js +4 -4
  384. package/lib/generated/services/servicediscovery.js +4 -4
  385. package/lib/generated/services/serviceextract.js +1 -1
  386. package/lib/generated/services/servicequotas.js +4 -4
  387. package/lib/generated/services/ses.js +4 -4
  388. package/lib/generated/services/shield.js +4 -4
  389. package/lib/generated/services/signer.js +4 -4
  390. package/lib/generated/services/signin.js +4 -4
  391. package/lib/generated/services/simspaceweaver.js +3 -3
  392. package/lib/generated/services/sms-voice.js +4 -4
  393. package/lib/generated/services/sms.js +1 -1
  394. package/lib/generated/services/snow-device-management.js +4 -4
  395. package/lib/generated/services/snowball.js +2 -2
  396. package/lib/generated/services/sns.js +4 -4
  397. package/lib/generated/services/social-messaging.js +4 -4
  398. package/lib/generated/services/sqlworkbench.js +3 -3
  399. package/lib/generated/services/sqs.js +4 -4
  400. package/lib/generated/services/ssm-contacts.js +4 -4
  401. package/lib/generated/services/ssm-guiconnect.js +2 -2
  402. package/lib/generated/services/ssm-incidents.js +4 -4
  403. package/lib/generated/services/ssm-quicksetup.js +4 -4
  404. package/lib/generated/services/ssm-sap.js +4 -4
  405. package/lib/generated/services/ssm.js +4 -4
  406. package/lib/generated/services/ssmmessages.js +2 -2
  407. package/lib/generated/services/sso-directory.js +1 -1
  408. package/lib/generated/services/sso-oauth.js +3 -3
  409. package/lib/generated/services/sso.js +4 -4
  410. package/lib/generated/services/states.js +4 -4
  411. package/lib/generated/services/storagegateway.js +4 -4
  412. package/lib/generated/services/sts.js +4 -4
  413. package/lib/generated/services/support-console.js +1 -1
  414. package/lib/generated/services/support.js +2 -2
  415. package/lib/generated/services/supportapp.js +2 -2
  416. package/lib/generated/services/supportauthz.js +4 -4
  417. package/lib/generated/services/supportplans.js +1 -1
  418. package/lib/generated/services/sustainability.js +2 -2
  419. package/lib/generated/services/swf.js +4 -4
  420. package/lib/generated/services/synthetics.js +4 -4
  421. package/lib/generated/services/tag.js +2 -2
  422. package/lib/generated/services/tax.js +2 -2
  423. package/lib/generated/services/textract.js +4 -4
  424. package/lib/generated/services/thinclient.js +4 -4
  425. package/lib/generated/services/timestream-influxdb.js +4 -4
  426. package/lib/generated/services/timestream.js +4 -4
  427. package/lib/generated/services/tiros.js +1 -1
  428. package/lib/generated/services/tnb.js +4 -4
  429. package/lib/generated/services/transcribe.js +4 -4
  430. package/lib/generated/services/transfer.js +4 -4
  431. package/lib/generated/services/transform-custom.js +3 -3
  432. package/lib/generated/services/transform.js +3 -3
  433. package/lib/generated/services/translate.js +4 -4
  434. package/lib/generated/services/trustedadvisor.js +3 -3
  435. package/lib/generated/services/ts.js +3 -3
  436. package/lib/generated/services/user-subscriptions.js +2 -2
  437. package/lib/generated/services/uxc.js +2 -2
  438. package/lib/generated/services/vendor-insights.js +3 -3
  439. package/lib/generated/services/verified-access.js +1 -1
  440. package/lib/generated/services/verifiedpermissions.js +4 -4
  441. package/lib/generated/services/voiceid.js +4 -4
  442. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  443. package/lib/generated/services/vpc-lattice.js +4 -4
  444. package/lib/generated/services/vpce.js +2 -2
  445. package/lib/generated/services/waf-regional.js +4 -4
  446. package/lib/generated/services/waf.js +4 -4
  447. package/lib/generated/services/wafv2.js +4 -4
  448. package/lib/generated/services/wam.js +1 -1
  449. package/lib/generated/services/wellarchitected.js +4 -4
  450. package/lib/generated/services/wickr.js +4 -4
  451. package/lib/generated/services/wisdom.js +4 -4
  452. package/lib/generated/services/workdocs.js +3 -3
  453. package/lib/generated/services/worklink.js +3 -3
  454. package/lib/generated/services/workmail.js +4 -4
  455. package/lib/generated/services/workmailmessageflow.js +3 -3
  456. package/lib/generated/services/workspaces-instances.js +4 -4
  457. package/lib/generated/services/workspaces-web.js +4 -4
  458. package/lib/generated/services/workspaces.js +4 -4
  459. package/lib/generated/services/xray.js +4 -4
  460. package/package.json +1 -1
@@ -16,7 +16,7 @@ class OmicsActions {
16
16
  }
17
17
  exports.OmicsActions = OmicsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- OmicsActions[_a] = { fqn: "@cdk_utils/iam.omics.OmicsActions", version: "1.27.0" };
19
+ OmicsActions[_a] = { fqn: "@cdk_utils/iam.omics.OmicsActions", version: "1.28.0" };
20
20
  /** The IAM service prefix. */
21
21
  OmicsActions.SERVICE_PREFIX = "omics";
22
22
  /** [Write] omics:AbortMultipartReadSetUpload */
@@ -800,7 +800,7 @@ class OmicsResources {
800
800
  }
801
801
  exports.OmicsResources = OmicsResources;
802
802
  _b = JSII_RTTI_SYMBOL_1;
803
- OmicsResources[_b] = { fqn: "@cdk_utils/iam.omics.OmicsResources", version: "1.27.0" };
803
+ OmicsResources[_b] = { fqn: "@cdk_utils/iam.omics.OmicsResources", version: "1.28.0" };
804
804
  /**
805
805
  * API operation to required IAM actions mapping for omics.
806
806
  */
@@ -808,7 +808,7 @@ class OmicsOperations {
808
808
  }
809
809
  exports.OmicsOperations = OmicsOperations;
810
810
  _c = JSII_RTTI_SYMBOL_1;
811
- OmicsOperations[_c] = { fqn: "@cdk_utils/iam.omics.OmicsOperations", version: "1.27.0" };
811
+ OmicsOperations[_c] = { fqn: "@cdk_utils/iam.omics.OmicsOperations", version: "1.28.0" };
812
812
  /** IAM actions required for the AbortMultipartReadSetUpload API call. */
813
813
  OmicsOperations.AbortMultipartReadSetUpload = [
814
814
  "omics:AbortMultipartReadSetUpload",
@@ -1177,7 +1177,7 @@ class OmicsConditions {
1177
1177
  }
1178
1178
  exports.OmicsConditions = OmicsConditions;
1179
1179
  _d = JSII_RTTI_SYMBOL_1;
1180
- OmicsConditions[_d] = { fqn: "@cdk_utils/iam.omics.OmicsConditions", version: "1.27.0" };
1180
+ OmicsConditions[_d] = { fqn: "@cdk_utils/iam.omics.OmicsConditions", version: "1.28.0" };
1181
1181
  /** Condition keys applicable to the CreateAnnotationStore action. */
1182
1182
  OmicsConditions.CreateAnnotationStoreConditionKeys = [
1183
1183
  "aws:RequestTag/${TagKey}",
@@ -1193,6 +1193,11 @@ OmicsConditions.CreateConfigurationConditionKeys = [
1193
1193
  "aws:RequestTag/${TagKey}",
1194
1194
  "aws:TagKeys",
1195
1195
  ];
1196
+ /** Condition keys applicable to the CreateMultipartReadSetUpload action. */
1197
+ OmicsConditions.CreateMultipartReadSetUploadConditionKeys = [
1198
+ "aws:RequestTag/${TagKey}",
1199
+ "aws:TagKeys",
1200
+ ];
1196
1201
  /** Condition keys applicable to the CreateReferenceStore action. */
1197
1202
  OmicsConditions.CreateReferenceStoreConditionKeys = [
1198
1203
  "aws:RequestTag/${TagKey}",
@@ -1228,6 +1233,16 @@ OmicsConditions.CreateWorkflowVersionConditionKeys = [
1228
1233
  "aws:RequestTag/${TagKey}",
1229
1234
  "aws:TagKeys",
1230
1235
  ];
1236
+ /** Condition keys applicable to the StartReadSetImportJob action. */
1237
+ OmicsConditions.StartReadSetImportJobConditionKeys = [
1238
+ "aws:RequestTag/${TagKey}",
1239
+ "aws:TagKeys",
1240
+ ];
1241
+ /** Condition keys applicable to the StartReferenceImportJob action. */
1242
+ OmicsConditions.StartReferenceImportJobConditionKeys = [
1243
+ "aws:RequestTag/${TagKey}",
1244
+ "aws:TagKeys",
1245
+ ];
1231
1246
  /** Condition keys applicable to the StartRun action. */
1232
1247
  OmicsConditions.StartRunConditionKeys = [
1233
1248
  "aws:RequestTag/${TagKey}",
@@ -1251,4 +1266,4 @@ OmicsConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
1251
1266
  OmicsConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
1252
1267
  /** Condition key: aws:TagKeys (ArrayOfString) */
1253
1268
  OmicsConditions.AWS_TAG_KEYS = "aws:TagKeys";
1254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib21pY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL29taWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsNENBQTRDO0FBQzVDLG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLFlBQVk7O0FBQXpCLG9DQThWQzs7O0FBN1ZBLDhCQUE4QjtBQUNkLDJCQUFjLEdBQUcsT0FBTyxDQUFDO0FBRXpDLGdEQUFnRDtBQUNoQyx3Q0FBMkIsR0FDMUMsbUNBQW1DLENBQUM7QUFDckMsZ0NBQWdDO0FBQ2hCLHdCQUFXLEdBQUcsbUJBQW1CLENBQUM7QUFDbEQsdUNBQXVDO0FBQ3ZCLCtCQUFrQixHQUFHLDBCQUEwQixDQUFDO0FBQ2hFLDhDQUE4QztBQUM5QixzQ0FBeUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUM5RSw4QkFBOEI7QUFDZCxzQkFBUyxHQUFHLGlCQUFpQixDQUFDO0FBQzlDLG1DQUFtQztBQUNuQiwyQkFBYyxHQUFHLHNCQUFzQixDQUFDO0FBQ3hELDJDQUEyQztBQUMzQixtQ0FBc0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN4RSxtREFBbUQ7QUFDbkMsMkNBQThCLEdBQzdDLHNDQUFzQyxDQUFDO0FBQ3hDLDBDQUEwQztBQUMxQixrQ0FBcUIsR0FBRyw2QkFBNkIsQ0FBQztBQUN0RSxpREFBaUQ7QUFDakMseUNBQTRCLEdBQzNDLG9DQUFvQyxDQUFDO0FBQ3RDLHdDQUF3QztBQUN4QixnQ0FBbUIsR0FBRywyQkFBMkIsQ0FBQztBQUNsRSxpREFBaUQ7QUFDakMseUNBQTRCLEdBQzNDLG9DQUFvQyxDQUFDO0FBQ3RDLHlDQUF5QztBQUN6QixpQ0FBb0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNwRSxtQ0FBbUM7QUFDbkIsMkJBQWMsR0FBRyxzQkFBc0IsQ0FBQztBQUN4RCxtQ0FB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WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9vbWljcy5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgb21pY3Mgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE9taWNzQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcIm9taWNzXCI7XG5cblx0LyoqIFtXcml0ZV0gb21pY3M6QWJvcnRNdWx0aXBhcnRSZWFkU2V0VXBsb2FkICovXG5cdHN0YXRpYyByZWFkb25seSBBYm9ydE11bHRpcGFydFJlYWRTZXRVcGxvYWQgPVxuXHRcdFwib21pY3M6QWJvcnRNdWx0aXBhcnRSZWFkU2V0VXBsb2FkXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkFjY2VwdFNoYXJlICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRTaGFyZSA9IFwib21pY3M6QWNjZXB0U2hhcmVcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6QmF0Y2hEZWxldGVSZWFkU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZVJlYWRTZXQgPSBcIm9taWNzOkJhdGNoRGVsZXRlUmVhZFNldFwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDYW5jZWxBbm5vdGF0aW9uSW1wb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxBbm5vdGF0aW9uSW1wb3J0Sm9iID0gXCJvbWljczpDYW5jZWxBbm5vdGF0aW9uSW1wb3J0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNhbmNlbFJ1biAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsUnVuID0gXCJvbWljczpDYW5jZWxSdW5cIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6Q2FuY2VsUnVuQmF0Y2ggKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFJ1bkJhdGNoID0gXCJvbWljczpDYW5jZWxSdW5CYXRjaFwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDYW5jZWxWYXJpYW50SW1wb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxWYXJpYW50SW1wb3J0Sm9iID0gXCJvbWljczpDYW5jZWxWYXJpYW50SW1wb3J0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNvbXBsZXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29tcGxldGVNdWx0aXBhcnRSZWFkU2V0VXBsb2FkID1cblx0XHRcIm9taWNzOkNvbXBsZXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZFwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDcmVhdGVBbm5vdGF0aW9uU3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFubm90YXRpb25TdG9yZSA9IFwib21pY3M6Q3JlYXRlQW5ub3RhdGlvblN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNyZWF0ZUFubm90YXRpb25TdG9yZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFubm90YXRpb25TdG9yZVZlcnNpb24gPVxuXHRcdFwib21pY3M6Q3JlYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDcmVhdGVDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uID0gXCJvbWljczpDcmVhdGVDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNyZWF0ZU11bHRpcGFydFJlYWRTZXRVcGxvYWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU11bHRpcGFydFJlYWRTZXRVcGxvYWQgPVxuXHRcdFwib21pY3M6Q3JlYXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZFwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDcmVhdGVSZWZlcmVuY2VTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVmZXJlbmNlU3RvcmUgPSBcIm9taWNzOkNyZWF0ZVJlZmVyZW5jZVN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNyZWF0ZVJ1bkNhY2hlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSdW5DYWNoZSA9IFwib21pY3M6Q3JlYXRlUnVuQ2FjaGVcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6Q3JlYXRlUnVuR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJ1bkdyb3VwID0gXCJvbWljczpDcmVhdGVSdW5Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDcmVhdGVTZXF1ZW5jZVN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXF1ZW5jZVN0b3JlID0gXCJvbWljczpDcmVhdGVTZXF1ZW5jZVN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNyZWF0ZVNoYXJlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTaGFyZSA9IFwib21pY3M6Q3JlYXRlU2hhcmVcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6Q3JlYXRlVmFyaWFudFN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWYXJpYW50U3RvcmUgPSBcIm9taWNzOkNyZWF0ZVZhcmlhbnRTdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDcmVhdGVXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2Zsb3cgPSBcIm9taWNzOkNyZWF0ZVdvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNyZWF0ZVdvcmtmbG93VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2Zsb3dWZXJzaW9uID0gXCJvbWljczpDcmVhdGVXb3JrZmxvd1ZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6RGVsZXRlQW5ub3RhdGlvblN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBbm5vdGF0aW9uU3RvcmUgPSBcIm9taWNzOkRlbGV0ZUFubm90YXRpb25TdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpEZWxldGVBbm5vdGF0aW9uU3RvcmVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvbnMgPVxuXHRcdFwib21pY3M6RGVsZXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvbnNcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6RGVsZXRlQmF0Y2ggKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJhdGNoID0gXCJvbWljczpEZWxldGVCYXRjaFwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpEZWxldGVDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uID0gXCJvbWljczpEZWxldGVDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkRlbGV0ZVJlZmVyZW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVmZXJlbmNlID0gXCJvbWljczpEZWxldGVSZWZlcmVuY2VcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6RGVsZXRlUmVmZXJlbmNlU3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlZmVyZW5jZVN0b3JlID0gXCJvbWljczpEZWxldGVSZWZlcmVuY2VTdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpEZWxldGVSdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJ1biA9IFwib21pY3M6RGVsZXRlUnVuXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkRlbGV0ZVJ1bkJhdGNoICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSdW5CYXRjaCA9IFwib21pY3M6RGVsZXRlUnVuQmF0Y2hcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6RGVsZXRlUnVuQ2FjaGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJ1bkNhY2hlID0gXCJvbWljczpEZWxldGVSdW5DYWNoZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpEZWxldGVSdW5Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUnVuR3JvdXAgPSBcIm9taWNzOkRlbGV0ZVJ1bkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkRlbGV0ZVMzQWNjZXNzUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTM0FjY2Vzc1BvbGljeSA9IFwib21pY3M6RGVsZXRlUzNBY2Nlc3NQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6RGVsZXRlU2VxdWVuY2VTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VxdWVuY2VTdG9yZSA9IFwib21pY3M6RGVsZXRlU2VxdWVuY2VTdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpEZWxldGVTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2hhcmUgPSBcIm9taWNzOkRlbGV0ZVNoYXJlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkRlbGV0ZVZhcmlhbnRTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVmFyaWFudFN0b3JlID0gXCJvbWljczpEZWxldGVWYXJpYW50U3RvcmVcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6RGVsZXRlV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmbG93ID0gXCJvbWljczpEZWxldGVXb3JrZmxvd1wiO1xuXHQvKiogW1dyaXRlXSBvbWljczpEZWxldGVXb3JrZmxvd1ZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmbG93VmVyc2lvbiA9IFwib21pY3M6RGVsZXRlV29ya2Zsb3dWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0QW5ub3RhdGlvbkltcG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QW5ub3RhdGlvbkltcG9ydEpvYiA9IFwib21pY3M6R2V0QW5ub3RhdGlvbkltcG9ydEpvYlwiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldEFubm90YXRpb25TdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QW5ub3RhdGlvblN0b3JlID0gXCJvbWljczpHZXRBbm5vdGF0aW9uU3RvcmVcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRBbm5vdGF0aW9uU3RvcmVWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBbm5vdGF0aW9uU3RvcmVWZXJzaW9uID1cblx0XHRcIm9taWNzOkdldEFubm90YXRpb25TdG9yZVZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRCYXRjaCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmF0Y2ggPSBcIm9taWNzOkdldEJhdGNoXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29uZmlndXJhdGlvbiA9IFwib21pY3M6R2V0Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFJlYWRTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlYWRTZXQgPSBcIm9taWNzOkdldFJlYWRTZXRcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRSZWFkU2V0QWN0aXZhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVhZFNldEFjdGl2YXRpb25Kb2IgPVxuXHRcdFwib21pY3M6R2V0UmVhZFNldEFjdGl2YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRSZWFkU2V0RXhwb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWFkU2V0RXhwb3J0Sm9iID0gXCJvbWljczpHZXRSZWFkU2V0RXhwb3J0Sm9iXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0UmVhZFNldEltcG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVhZFNldEltcG9ydEpvYiA9IFwib21pY3M6R2V0UmVhZFNldEltcG9ydEpvYlwiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFJlYWRTZXRNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVhZFNldE1ldGFkYXRhID0gXCJvbWljczpHZXRSZWFkU2V0TWV0YWRhdGFcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRSZWZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlZmVyZW5jZSA9IFwib21pY3M6R2V0UmVmZXJlbmNlXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0UmVmZXJlbmNlSW1wb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWZlcmVuY2VJbXBvcnRKb2IgPSBcIm9taWNzOkdldFJlZmVyZW5jZUltcG9ydEpvYlwiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFJlZmVyZW5jZU1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWZlcmVuY2VNZXRhZGF0YSA9IFwib21pY3M6R2V0UmVmZXJlbmNlTWV0YWRhdGFcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRSZWZlcmVuY2VTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVmZXJlbmNlU3RvcmUgPSBcIm9taWNzOkdldFJlZmVyZW5jZVN0b3JlXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0UnVuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSdW4gPSBcIm9taWNzOkdldFJ1blwiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFJ1bkNhY2hlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSdW5DYWNoZSA9IFwib21pY3M6R2V0UnVuQ2FjaGVcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRSdW5Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UnVuR3JvdXAgPSBcIm9taWNzOkdldFJ1bkdyb3VwXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0UnVuVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UnVuVGFzayA9IFwib21pY3M6R2V0UnVuVGFza1wiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFMzQWNjZXNzUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTM0FjY2Vzc1BvbGljeSA9IFwib21pY3M6R2V0UzNBY2Nlc3NQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRTZXF1ZW5jZVN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXF1ZW5jZVN0b3JlID0gXCJvbWljczpHZXRTZXF1ZW5jZVN0b3JlXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0U2hhcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNoYXJlID0gXCJvbWljczpHZXRTaGFyZVwiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFZhcmlhbnRJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFZhcmlhbnRJbXBvcnRKb2IgPSBcIm9taWNzOkdldFZhcmlhbnRJbXBvcnRKb2JcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRWYXJpYW50U3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFZhcmlhbnRTdG9yZSA9IFwib21pY3M6R2V0VmFyaWFudFN0b3JlXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0V29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFdvcmtmbG93ID0gXCJvbWljczpHZXRXb3JrZmxvd1wiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFdvcmtmbG93VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0V29ya2Zsb3dWZXJzaW9uID0gXCJvbWljczpHZXRXb3JrZmxvd1ZlcnNpb25cIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0QW5ub3RhdGlvbkltcG9ydEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbm5vdGF0aW9uSW1wb3J0Sm9icyA9IFwib21pY3M6TGlzdEFubm90YXRpb25JbXBvcnRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdEFubm90YXRpb25TdG9yZVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QW5ub3RhdGlvblN0b3JlVmVyc2lvbnMgPVxuXHRcdFwib21pY3M6TGlzdEFubm90YXRpb25TdG9yZVZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdEFubm90YXRpb25TdG9yZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbm5vdGF0aW9uU3RvcmVzID0gXCJvbWljczpMaXN0QW5ub3RhdGlvblN0b3Jlc1wiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RCYXRjaCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJhdGNoID0gXCJvbWljczpMaXN0QmF0Y2hcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0Q29uZmlndXJhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmF0aW9ucyA9IFwib21pY3M6TGlzdENvbmZpZ3VyYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdE11bHRpcGFydFJlYWRTZXRVcGxvYWRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TXVsdGlwYXJ0UmVhZFNldFVwbG9hZHMgPVxuXHRcdFwib21pY3M6TGlzdE11bHRpcGFydFJlYWRTZXRVcGxvYWRzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFJlYWRTZXRBY3RpdmF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlYWRTZXRBY3RpdmF0aW9uSm9icyA9IFwib21pY3M6TGlzdFJlYWRTZXRBY3RpdmF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RSZWFkU2V0RXhwb3J0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlYWRTZXRFeHBvcnRKb2JzID0gXCJvbWljczpMaXN0UmVhZFNldEV4cG9ydEpvYnNcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0UmVhZFNldEltcG9ydEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWFkU2V0SW1wb3J0Sm9icyA9IFwib21pY3M6TGlzdFJlYWRTZXRJbXBvcnRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFJlYWRTZXRVcGxvYWRQYXJ0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlYWRTZXRVcGxvYWRQYXJ0cyA9IFwib21pY3M6TGlzdFJlYWRTZXRVcGxvYWRQYXJ0c1wiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RSZWFkU2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlYWRTZXRzID0gXCJvbWljczpMaXN0UmVhZFNldHNcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0UmVmZXJlbmNlSW1wb3J0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlZmVyZW5jZUltcG9ydEpvYnMgPSBcIm9taWNzOkxpc3RSZWZlcmVuY2VJbXBvcnRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFJlZmVyZW5jZVN0b3JlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlZmVyZW5jZVN0b3JlcyA9IFwib21pY3M6TGlzdFJlZmVyZW5jZVN0b3Jlc1wiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RSZWZlcmVuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVmZXJlbmNlcyA9IFwib21pY3M6TGlzdFJlZmVyZW5jZXNcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0UnVuQ2FjaGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UnVuQ2FjaGVzID0gXCJvbWljczpMaXN0UnVuQ2FjaGVzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFJ1bkdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJ1bkdyb3VwcyA9IFwib21pY3M6TGlzdFJ1bkdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RSdW5UYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJ1blRhc2tzID0gXCJvbWljczpMaXN0UnVuVGFza3NcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0UnVucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJ1bnMgPSBcIm9taWNzOkxpc3RSdW5zXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFJ1bnNJbkJhdGNoICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UnVuc0luQmF0Y2ggPSBcIm9taWNzOkxpc3RSdW5zSW5CYXRjaFwiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RTZXF1ZW5jZVN0b3JlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcXVlbmNlU3RvcmVzID0gXCJvbWljczpMaXN0U2VxdWVuY2VTdG9yZXNcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0U2hhcmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmVzID0gXCJvbWljczpMaXN0U2hhcmVzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwib21pY3M6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RWYXJpYW50SW1wb3J0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFZhcmlhbnRJbXBvcnRKb2JzID0gXCJvbWljczpMaXN0VmFyaWFudEltcG9ydEpvYnNcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0VmFyaWFudFN0b3JlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFZhcmlhbnRTdG9yZXMgPSBcIm9taWNzOkxpc3RWYXJpYW50U3RvcmVzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFdvcmtmbG93VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXb3JrZmxvd1ZlcnNpb25zID0gXCJvbWljczpMaXN0V29ya2Zsb3dWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RXb3JrZmxvd3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXb3JrZmxvd3MgPSBcIm9taWNzOkxpc3RXb3JrZmxvd3NcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6UHV0UzNBY2Nlc3NQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFMzQWNjZXNzUG9saWN5ID0gXCJvbWljczpQdXRTM0FjY2Vzc1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpTdGFydEFubm90YXRpb25JbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QW5ub3RhdGlvbkltcG9ydEpvYiA9IFwib21pY3M6U3RhcnRBbm5vdGF0aW9uSW1wb3J0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOlN0YXJ0UmVhZFNldEFjdGl2YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVhZFNldEFjdGl2YXRpb25Kb2IgPSBcIm9taWNzOlN0YXJ0UmVhZFNldEFjdGl2YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6U3RhcnRSZWFkU2V0RXhwb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlYWRTZXRFeHBvcnRKb2IgPSBcIm9taWNzOlN0YXJ0UmVhZFNldEV4cG9ydEpvYlwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpTdGFydFJlYWRTZXRJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVhZFNldEltcG9ydEpvYiA9IFwib21pY3M6U3RhcnRSZWFkU2V0SW1wb3J0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOlN0YXJ0UmVmZXJlbmNlSW1wb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlZmVyZW5jZUltcG9ydEpvYiA9IFwib21pY3M6U3RhcnRSZWZlcmVuY2VJbXBvcnRKb2JcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6U3RhcnRSdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UnVuID0gXCJvbWljczpTdGFydFJ1blwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpTdGFydFJ1bkJhdGNoICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJ1bkJhdGNoID0gXCJvbWljczpTdGFydFJ1bkJhdGNoXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOlN0YXJ0VmFyaWFudEltcG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRWYXJpYW50SW1wb3J0Sm9iID0gXCJvbWljczpTdGFydFZhcmlhbnRJbXBvcnRKb2JcIjtcblx0LyoqIFtUYWdnaW5nXSBvbWljczpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcIm9taWNzOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gb21pY3M6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwib21pY3M6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpVcGRhdGVBbm5vdGF0aW9uU3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFubm90YXRpb25TdG9yZSA9IFwib21pY3M6VXBkYXRlQW5ub3RhdGlvblN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOlVwZGF0ZUFubm90YXRpb25TdG9yZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFubm90YXRpb25TdG9yZVZlcnNpb24gPVxuXHRcdFwib21pY3M6VXBkYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpVcGRhdGVSdW5DYWNoZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUnVuQ2FjaGUgPSBcIm9taWNzOlVwZGF0ZVJ1bkNhY2hlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOlVwZGF0ZVJ1bkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSdW5Hcm91cCA9IFwib21pY3M6VXBkYXRlUnVuR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6VXBkYXRlU2VxdWVuY2VTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VxdWVuY2VTdG9yZSA9IFwib21pY3M6VXBkYXRlU2VxdWVuY2VTdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpVcGRhdGVWYXJpYW50U3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVZhcmlhbnRTdG9yZSA9IFwib21pY3M6VXBkYXRlVmFyaWFudFN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOlVwZGF0ZVdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrZmxvdyA9IFwib21pY3M6VXBkYXRlV29ya2Zsb3dcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6VXBkYXRlV29ya2Zsb3dWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrZmxvd1ZlcnNpb24gPSBcIm9taWNzOlVwZGF0ZVdvcmtmbG93VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpVcGxvYWRSZWFkU2V0UGFydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBsb2FkUmVhZFNldFBhcnQgPSBcIm9taWNzOlVwbG9hZFJlYWRTZXRQYXJ0XCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldEFubm90YXRpb25JbXBvcnRKb2IsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldEFubm90YXRpb25TdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0QW5ub3RhdGlvblN0b3JlVmVyc2lvbixcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0QmF0Y2gsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldENvbmZpZ3VyYXRpb24sXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFJlYWRTZXQsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFJlYWRTZXRBY3RpdmF0aW9uSm9iLFxuXHRcdE9taWNzQWN0aW9ucy5hY3Rpb25HZXRSZWFkU2V0RXhwb3J0Sm9iLFxuXHRcdE9taWNzQWN0aW9ucy5hY3Rpb25HZXRSZWFkU2V0SW1wb3J0Sm9iLFxuXHRcdE9taWNzQWN0aW9ucy5hY3Rpb25HZXRSZWFkU2V0TWV0YWRhdGEsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFJlZmVyZW5jZSxcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0UmVmZXJlbmNlSW1wb3J0Sm9iLFxuXHRcdE9taWNzQWN0aW9ucy5hY3Rpb25HZXRSZWZlcmVuY2VNZXRhZGF0YSxcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0UmVmZXJlbmNlU3RvcmUsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFJ1bixcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0UnVuQ2FjaGUsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFJ1bkdyb3VwLFxuXHRcdE9taWNzQWN0aW9ucy5hY3Rpb25HZXRSdW5UYXNrLFxuXHRcdE9taWNzQWN0aW9ucy5hY3Rpb25HZXRTM0FjY2Vzc1BvbGljeSxcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0U2VxdWVuY2VTdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0U2hhcmUsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFZhcmlhbnRJbXBvcnRKb2IsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFZhcmlhbnRTdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0V29ya2Zsb3csXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFdvcmtmbG93VmVyc2lvbixcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRPbWljc0FjdGlvbnMuQWJvcnRNdWx0aXBhcnRSZWFkU2V0VXBsb2FkLFxuXHRcdE9taWNzQWN0aW9ucy5BY2NlcHRTaGFyZSxcblx0XHRPbWljc0FjdGlvbnMuQmF0Y2hEZWxldGVSZWFkU2V0LFxuXHRcdE9taWNzQWN0aW9ucy5DYW5jZWxBbm5vdGF0aW9uSW1wb3J0Sm9iLFxuXHRcdE9taWNzQWN0aW9ucy5DYW5jZWxSdW4sXG5cdFx0T21pY3NBY3Rpb25zLkNhbmNlbFJ1bkJhdGNoLFxuXHRcdE9taWNzQWN0aW9ucy5DYW5jZWxWYXJpYW50SW1wb3J0Sm9iLFxuXHRcdE9taWNzQWN0aW9ucy5Db21wbGV0ZU11bHRpcGFydFJlYWRTZXRVcGxvYWQsXG5cdFx0T21pY3NBY3Rpb25zLkNyZWF0ZUFubm90YXRpb25TdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvbixcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlQ29uZmlndXJhdGlvbixcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZCxcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlUmVmZXJlbmNlU3RvcmUsXG5cdFx0T21pY3NBY3Rpb25zLkNyZWF0ZVJ1bkNhY2hlLFxuXHRcdE9taWNzQWN0aW9ucy5DcmVhdGVSdW5Hcm91cCxcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlU2VxdWVuY2VTdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlU2hhcmUsXG5cdFx0T21pY3NBY3Rpb25zLkNyZWF0ZVZhcmlhbnRTdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlV29ya2Zsb3csXG5cdFx0T21pY3NBY3Rpb25zLkNyZWF0ZVdvcmtmbG93VmVyc2lvbixcblx0XHRPbWljc0FjdGlvbnMuRGVsZXRlQW5ub3RhdGlvblN0b3JlLFxuXHRcdE9taWNzQWN0aW9ucy5EZWxldGVBbm5vdGF0aW9uU3RvcmVWZXJzaW9ucyxcblx0XHRPbWljc0FjdGlvbnMuRGVsZXRlQmF0Y2gsXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZUNvbmZpZ3VyYXRpb24sXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZVJlZmVyZW5jZSxcblx0XHRPbWljc0FjdGlvbnMuRGVsZXRlUmVmZXJlbmNlU3RvcmUsXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZVJ1bixcblx0XHRPbWljc0FjdGlvbnMuRGVsZXRlUnVuQmF0Y2gsXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZVJ1bkNhY2hlLFxuXHRcdE9taWNzQWN0aW9ucy5EZWxldGVSdW5Hcm91cCxcblx0XHRPbWljc0FjdGlvbnMuRGVsZXRlUzNBY2Nlc3NQb2xpY3ksXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZVNlcXVlbmNlU3RvcmUsXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZVNoYXJlLFxuXHRcdE9taWNzQWN0aW9ucy5EZWxldGVWYXJpYW50U3RvcmUsXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZVdvcmtmbG93LFxuXHRcdE9taWNzQWN0aW9ucy5EZWxldGVXb3JrZmxvd1ZlcnNpb24sXG5cdFx0T21pY3NBY3Rpb25zLlB1dFMzQWNjZXNzUG9saWN5LFxuXHRcdE9taWNzQWN0aW9ucy5TdGFydEFubm90YXRpb25JbXBvcnRKb2IsXG5cdFx0T21pY3NBY3Rpb25zLlN0YXJ0UmVhZFNldEFjdGl2YXRpb25Kb2IsXG5cdFx0T21pY3NBY3Rpb25zLlN0YXJ0UmVhZFNldEV4cG9ydEpvYixcblx0XHRPbWljc0FjdGlvbnMuU3RhcnRSZWFkU2V0SW1wb3J0Sm9iLFxuXHRcdE9taWNzQWN0aW9ucy5TdGFydFJlZmVyZW5jZUltcG9ydEpvYixcblx0XHRPbWljc0FjdGlvbnMuU3RhcnRSdW4sXG5cdFx0T21pY3NBY3Rpb25zLlN0YXJ0UnVuQmF0Y2gsXG5cdFx0T21pY3NBY3Rpb25zLlN0YXJ0VmFyaWFudEltcG9ydEpvYixcblx0XHRPbWljc0FjdGlvbnMuVXBkYXRlQW5ub3RhdGlvblN0b3JlLFxuXHRcdE9taWNzQWN0aW9ucy5VcGRhdGVBbm5vdGF0aW9uU3RvcmVWZXJzaW9uLFxuXHRcdE9taWNzQWN0aW9ucy5VcGRhdGVSdW5DYWNoZSxcblx0XHRPbWljc0FjdGlvbnMuVXBkYXRlUnVuR3JvdXAsXG5cdFx0T21pY3NBY3Rpb25zLlVwZGF0ZVNlcXVlbmNlU3RvcmUsXG5cdFx0T21pY3NBY3Rpb25zLlVwZGF0ZVZhcmlhbnRTdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuVXBkYXRlV29ya2Zsb3csXG5cdFx0T21pY3NBY3Rpb25zLlVwZGF0ZVdvcmtmbG93VmVyc2lvbixcblx0XHRPbWljc0FjdGlvbnMuVXBsb2FkUmVhZFNldFBhcnQsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdE9taWNzQWN0aW9ucy5MaXN0QW5ub3RhdGlvbkltcG9ydEpvYnMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RBbm5vdGF0aW9uU3RvcmVWZXJzaW9ucyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdEFubm90YXRpb25TdG9yZXMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RCYXRjaCxcblx0XHRPbWljc0FjdGlvbnMuTGlzdENvbmZpZ3VyYXRpb25zLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0TXVsdGlwYXJ0UmVhZFNldFVwbG9hZHMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RSZWFkU2V0QWN0aXZhdGlvbkpvYnMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RSZWFkU2V0RXhwb3J0Sm9icyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdFJlYWRTZXRJbXBvcnRKb2JzLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0UmVhZFNldFVwbG9hZFBhcnRzLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0UmVhZFNldHMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RSZWZlcmVuY2VJbXBvcnRKb2JzLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0UmVmZXJlbmNlU3RvcmVzLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0UmVmZXJlbmNlcyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdFJ1bkNhY2hlcyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdFJ1bkdyb3Vwcyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdFJ1blRhc2tzLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0UnVucyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdFJ1bnNJbkJhdGNoLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0U2VxdWVuY2VTdG9yZXMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RTaGFyZXMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RWYXJpYW50SW1wb3J0Sm9icyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdFZhcmlhbnRTdG9yZXMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RXb3JrZmxvd1ZlcnNpb25zLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0V29ya2Zsb3dzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRPbWljc0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0T21pY3NBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBBbm5vdGF0aW9uU3RvcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzQW5ub3RhdGlvblN0b3JlQXJuUHJvcHMge1xuXHQvKiogVGhlIEFubm90YXRpb25TdG9yZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFubm90YXRpb25TdG9yZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBBbm5vdGF0aW9uU3RvcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzQW5ub3RhdGlvblN0b3JlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBbm5vdGF0aW9uU3RvcmVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYW5ub3RhdGlvblN0b3JlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQW5ub3RhdGlvblN0b3JlVmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT21pY3NBbm5vdGF0aW9uU3RvcmVWZXJzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEFubm90YXRpb25TdG9yZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFubm90YXRpb25TdG9yZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBBbm5vdGF0aW9uU3RvcmVWZXJzaW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYW5ub3RhdGlvblN0b3JlVmVyc2lvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBBbm5vdGF0aW9uU3RvcmVWZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc0Fubm90YXRpb25TdG9yZVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFubm90YXRpb25TdG9yZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhbm5vdGF0aW9uU3RvcmVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQW5ub3RhdGlvblN0b3JlVmVyc2lvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhbm5vdGF0aW9uU3RvcmVWZXJzaW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgVGFza1Jlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1Rhc2tSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBUYXNrUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzVGFza1Jlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBWYXJpYW50U3RvcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzVmFyaWFudFN0b3JlQXJuUHJvcHMge1xuXHQvKiogVGhlIFZhcmlhbnRTdG9yZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHZhcmlhbnRTdG9yZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBWYXJpYW50U3RvcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzVmFyaWFudFN0b3JlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBWYXJpYW50U3RvcmVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdmFyaWFudFN0b3JlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgV29ya2Zsb3dWZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1dvcmtmbG93VmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIFRoZSBWZXJzaW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdmVyc2lvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBXb3JrZmxvd1ZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzV29ya2Zsb3dWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVmVyc2lvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB2ZXJzaW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT21pY3NDb25maWd1cmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc0NvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWFkU2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1JlYWRTZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VxdWVuY2VTdG9yZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXF1ZW5jZVN0b3JlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWFkU2V0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlYWRTZXRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlYWRTZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzUmVhZFNldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VxdWVuY2VTdG9yZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VxdWVuY2VTdG9yZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVhZFNldElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVhZFNldElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWZlcmVuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzUmVmZXJlbmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlZmVyZW5jZVN0b3JlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlZmVyZW5jZVN0b3JlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWZlcmVuY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVmZXJlbmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZWZlcmVuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzUmVmZXJlbmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWZlcmVuY2VTdG9yZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVmZXJlbmNlU3RvcmVJZDogc3RyaW5nO1xuXHQvKiogVGhlIFJlZmVyZW5jZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVmZXJlbmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlZmVyZW5jZVN0b3JlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1JlZmVyZW5jZVN0b3JlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlZmVyZW5jZVN0b3JlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlZmVyZW5jZVN0b3JlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZWZlcmVuY2VTdG9yZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT21pY3NSZWZlcmVuY2VTdG9yZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVmZXJlbmNlU3RvcmVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlZmVyZW5jZVN0b3JlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJ1biBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT21pY3NSdW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcnVuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1J1bkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcnVuQmF0Y2ggQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzUnVuQmF0Y2hBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQmF0Y2hJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYmF0Y2hJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJ1bkJhdGNoIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1J1bkJhdGNoQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCYXRjaElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYmF0Y2hJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcnVuQ2FjaGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzUnVuQ2FjaGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcnVuQ2FjaGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzUnVuQ2FjaGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJ1bkdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1J1bkdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJ1bkdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1J1bkdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXF1ZW5jZVN0b3JlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1NlcXVlbmNlU3RvcmVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VxdWVuY2VTdG9yZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXF1ZW5jZVN0b3JlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXF1ZW5jZVN0b3JlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1NlcXVlbmNlU3RvcmVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlcXVlbmNlU3RvcmVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcXVlbmNlU3RvcmVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya2Zsb3cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzV29ya2Zsb3dBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgd29ya2Zsb3cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzV29ya2Zsb3dBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuY29uc3QgQW5ub3RhdGlvblN0b3JlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YW5ub3RhdGlvblN0b3JlXFwvKD88YW5ub3RhdGlvblN0b3JlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQW5ub3RhdGlvblN0b3JlVmVyc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFubm90YXRpb25TdG9yZVxcLyg/PGFubm90YXRpb25TdG9yZU5hbWU+W146Lz9dKylcXC92ZXJzaW9uXFwvKD88YW5ub3RhdGlvblN0b3JlVmVyc2lvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFRhc2tSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRhc2tcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgVmFyaWFudFN0b3JlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dmFyaWFudFN0b3JlXFwvKD88dmFyaWFudFN0b3JlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgV29ya2Zsb3dWZXJzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya2Zsb3dcXC8oPzxpZD5bXjovP10rKVxcL3ZlcnNpb25cXC8oPzx2ZXJzaW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ29uZmlndXJhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbmZpZ3VyYXRpb25cXC8oPzxuYW1lPlteOi8/XSspJC87XG5jb25zdCBSZWFkU2V0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VxdWVuY2VTdG9yZVxcLyg/PHNlcXVlbmNlU3RvcmVJZD5bXjovP10rKVxcL3JlYWRTZXRcXC8oPzxyZWFkU2V0SWQ+W146Lz9dKykkLztcbmNvbnN0IFJlZmVyZW5jZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlZmVyZW5jZVN0b3JlXFwvKD88cmVmZXJlbmNlU3RvcmVJZD5bXjovP10rKVxcL3JlZmVyZW5jZVxcLyg/PHJlZmVyZW5jZUlkPlteOi8/XSspJC87XG5jb25zdCBSZWZlcmVuY2VTdG9yZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlZmVyZW5jZVN0b3JlXFwvKD88cmVmZXJlbmNlU3RvcmVJZD5bXjovP10rKSQvO1xuY29uc3QgUnVuQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cnVuXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IFJ1bkJhdGNoQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cnVuQmF0Y2hcXC8oPzxiYXRjaElkPlteOi8/XSspJC87XG5jb25zdCBSdW5DYWNoZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJ1bkNhY2hlXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IFJ1bkdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cnVuR3JvdXBcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgU2VxdWVuY2VTdG9yZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcXVlbmNlU3RvcmVcXC8oPzxzZXF1ZW5jZVN0b3JlSWQ+W146Lz9dKykkLztcbmNvbnN0IFdvcmtmbG93QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya2Zsb3dcXC8oPzxpZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIG9taWNzIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE9taWNzUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBBbm5vdGF0aW9uU3RvcmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYW5ub3RhdGlvblN0b3JlKHByb3BzOiBPbWljc0Fubm90YXRpb25TdG9yZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphbm5vdGF0aW9uU3RvcmUvJHtwcm9wcy5hbm5vdGF0aW9uU3RvcmVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBBbm5vdGF0aW9uU3RvcmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFubm90YXRpb25TdG9yZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBbm5vdGF0aW9uU3RvcmVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQW5ub3RhdGlvblN0b3JlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFubm90YXRpb25TdG9yZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogT21pY3NBbm5vdGF0aW9uU3RvcmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFubm90YXRpb25TdG9yZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBBbm5vdGF0aW9uU3RvcmUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YW5ub3RhdGlvblN0b3JlTmFtZTogbWF0Y2guZ3JvdXBzIS5hbm5vdGF0aW9uU3RvcmVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEFubm90YXRpb25TdG9yZVZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYW5ub3RhdGlvblN0b3JlVmVyc2lvbihcblx0XHRwcm9wczogT21pY3NBbm5vdGF0aW9uU3RvcmVWZXJzaW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b21pY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YW5ub3RhdGlvblN0b3JlLyR7cHJvcHMuYW5ub3RhdGlvblN0b3JlTmFtZX0vdmVyc2lvbi8ke3Byb3BzLmFubm90YXRpb25TdG9yZVZlcnNpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBBbm5vdGF0aW9uU3RvcmVWZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBbm5vdGF0aW9uU3RvcmVWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFubm90YXRpb25TdG9yZVZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQW5ub3RhdGlvblN0b3JlVmVyc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBbm5vdGF0aW9uU3RvcmVWZXJzaW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBPbWljc0Fubm90YXRpb25TdG9yZVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFubm90YXRpb25TdG9yZVZlcnNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQW5ub3RhdGlvblN0b3JlVmVyc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhbm5vdGF0aW9uU3RvcmVOYW1lOiBtYXRjaC5ncm91cHMhLmFubm90YXRpb25TdG9yZU5hbWUsXG5cdFx0XHRhbm5vdGF0aW9uU3RvcmVWZXJzaW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5hbm5vdGF0aW9uU3RvcmVWZXJzaW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBUYXNrUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdGFza1Jlc291cmNlKHByb3BzOiBPbWljc1Rhc2tSZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0YXNrLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFRhc2tSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVGFza1Jlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhc2tSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBUYXNrUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGFza1Jlc291cmNlQXJuKGFybjogc3RyaW5nKTogT21pY3NUYXNrUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRhc2tSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBUYXNrUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgVmFyaWFudFN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHZhcmlhbnRTdG9yZShwcm9wczogT21pY3NWYXJpYW50U3RvcmVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b21pY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dmFyaWFudFN0b3JlLyR7cHJvcHMudmFyaWFudFN0b3JlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgVmFyaWFudFN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRWYXJpYW50U3RvcmVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVmFyaWFudFN0b3JlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFZhcmlhbnRTdG9yZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VWYXJpYW50U3RvcmVBcm4oYXJuOiBzdHJpbmcpOiBPbWljc1ZhcmlhbnRTdG9yZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVmFyaWFudFN0b3JlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFZhcmlhbnRTdG9yZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR2YXJpYW50U3RvcmVOYW1lOiBtYXRjaC5ncm91cHMhLnZhcmlhbnRTdG9yZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgV29ya2Zsb3dWZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmtmbG93VmVyc2lvbihwcm9wczogT21pY3NXb3JrZmxvd1ZlcnNpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b21pY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya2Zsb3cvJHtwcm9wcy5pZH0vdmVyc2lvbi8ke3Byb3BzLnZlcnNpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBXb3JrZmxvd1ZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtmbG93VmVyc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3JrZmxvd1ZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgV29ya2Zsb3dWZXJzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtmbG93VmVyc2lvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogT21pY3NXb3JrZmxvd1ZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdvcmtmbG93VmVyc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBXb3JrZmxvd1ZlcnNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0XHR2ZXJzaW9uTmFtZTogbWF0Y2guZ3JvdXBzIS52ZXJzaW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb25maWd1cmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbmZpZ3VyYXRpb24ocHJvcHM6IE9taWNzQ29uZmlndXJhdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25maWd1cmF0aW9uLyR7cHJvcHMubmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29uZmlndXJhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbmZpZ3VyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29uZmlndXJhdGlvbkFybihhcm46IHN0cmluZyk6IE9taWNzQ29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29uZmlndXJhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25maWd1cmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG5hbWU6IG1hdGNoLmdyb3VwcyEubmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZWFkU2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlYWRTZXQocHJvcHM6IE9taWNzUmVhZFNldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXF1ZW5jZVN0b3JlLyR7cHJvcHMuc2VxdWVuY2VTdG9yZUlkfS9yZWFkU2V0LyR7cHJvcHMucmVhZFNldElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZWFkU2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWFkU2V0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlYWRTZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVhZFNldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWFkU2V0QXJuKGFybjogc3RyaW5nKTogT21pY3NSZWFkU2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWFkU2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlYWRTZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VxdWVuY2VTdG9yZUlkOiBtYXRjaC5ncm91cHMhLnNlcXVlbmNlU3RvcmVJZCxcblx0XHRcdHJlYWRTZXRJZDogbWF0Y2guZ3JvdXBzIS5yZWFkU2V0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVmZXJlbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlZmVyZW5jZShwcm9wczogT21pY3NSZWZlcmVuY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b21pY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVmZXJlbmNlU3RvcmUvJHtwcm9wcy5yZWZlcmVuY2VTdG9yZUlkfS9yZWZlcmVuY2UvJHtwcm9wcy5yZWZlcmVuY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVmZXJlbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWZlcmVuY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVmZXJlbmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlZmVyZW5jZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWZlcmVuY2VBcm4oYXJuOiBzdHJpbmcpOiBPbWljc1JlZmVyZW5jZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVmZXJlbmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlZmVyZW5jZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWZlcmVuY2VTdG9yZUlkOiBtYXRjaC5ncm91cHMhLnJlZmVyZW5jZVN0b3JlSWQsXG5cdFx0XHRyZWZlcmVuY2VJZDogbWF0Y2guZ3JvdXBzIS5yZWZlcmVuY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZWZlcmVuY2VTdG9yZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWZlcmVuY2VTdG9yZShwcm9wczogT21pY3NSZWZlcmVuY2VTdG9yZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWZlcmVuY2VTdG9yZS8ke3Byb3BzLnJlZmVyZW5jZVN0b3JlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlZmVyZW5jZVN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWZlcmVuY2VTdG9yZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWZlcmVuY2VTdG9yZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWZlcmVuY2VTdG9yZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWZlcmVuY2VTdG9yZUFybihhcm46IHN0cmluZyk6IE9taWNzUmVmZXJlbmNlU3RvcmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlZmVyZW5jZVN0b3JlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlZmVyZW5jZVN0b3JlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlZmVyZW5jZVN0b3JlSWQ6IG1hdGNoLmdyb3VwcyEucmVmZXJlbmNlU3RvcmVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBydW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcnVuKHByb3BzOiBPbWljc1J1bkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpydW4vJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcnVuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSdW5Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUnVuQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJ1biBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSdW5Bcm4oYXJuOiBzdHJpbmcpOiBPbWljc1J1bkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUnVuQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJ1biBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBydW5CYXRjaCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBydW5CYXRjaChwcm9wczogT21pY3NSdW5CYXRjaEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpydW5CYXRjaC8ke3Byb3BzLmJhdGNoSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJ1bkJhdGNoIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSdW5CYXRjaEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSdW5CYXRjaEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBydW5CYXRjaCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSdW5CYXRjaEFybihhcm46IHN0cmluZyk6IE9taWNzUnVuQmF0Y2hBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJ1bkJhdGNoQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJ1bkJhdGNoIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGJhdGNoSWQ6IG1hdGNoLmdyb3VwcyEuYmF0Y2hJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBydW5DYWNoZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBydW5DYWNoZShwcm9wczogT21pY3NSdW5DYWNoZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpydW5DYWNoZS8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBydW5DYWNoZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUnVuQ2FjaGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUnVuQ2FjaGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcnVuQ2FjaGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUnVuQ2FjaGVBcm4oYXJuOiBzdHJpbmcpOiBPbWljc1J1bkNhY2hlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSdW5DYWNoZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBydW5DYWNoZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBydW5Hcm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBydW5Hcm91cChwcm9wczogT21pY3NSdW5Hcm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpydW5Hcm91cC8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBydW5Hcm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUnVuR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUnVuR3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcnVuR3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUnVuR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBPbWljc1J1bkdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSdW5Hcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBydW5Hcm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXF1ZW5jZVN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcXVlbmNlU3RvcmUocHJvcHM6IE9taWNzU2VxdWVuY2VTdG9yZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXF1ZW5jZVN0b3JlLyR7cHJvcHMuc2VxdWVuY2VTdG9yZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXF1ZW5jZVN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXF1ZW5jZVN0b3JlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcXVlbmNlU3RvcmVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VxdWVuY2VTdG9yZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXF1ZW5jZVN0b3JlQXJuKGFybjogc3RyaW5nKTogT21pY3NTZXF1ZW5jZVN0b3JlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXF1ZW5jZVN0b3JlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlcXVlbmNlU3RvcmUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VxdWVuY2VTdG9yZUlkOiBtYXRjaC5ncm91cHMhLnNlcXVlbmNlU3RvcmVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3JrZmxvdyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3JrZmxvdyhwcm9wczogT21pY3NXb3JrZmxvd0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3b3JrZmxvdy8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3b3JrZmxvdyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV29ya2Zsb3dBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV29ya2Zsb3dBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgd29ya2Zsb3cgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV29ya2Zsb3dBcm4oYXJuOiBzdHJpbmcpOiBPbWljc1dvcmtmbG93QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3JrZmxvd0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3b3JrZmxvdyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBvbWljcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE9taWNzT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFib3J0TXVsdGlwYXJ0UmVhZFNldFVwbG9hZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFib3J0TXVsdGlwYXJ0UmVhZFNldFVwbG9hZDogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpBYm9ydE11bHRpcGFydFJlYWRTZXRVcGxvYWRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWNjZXB0U2hhcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRTaGFyZTogc3RyaW5nW10gPSBbXCJvbWljczpBY2NlcHRTaGFyZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVSZWFkU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVSZWFkU2V0OiBzdHJpbmdbXSA9IFtcIm9taWNzOkJhdGNoRGVsZXRlUmVhZFNldFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsQW5ub3RhdGlvbkltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEFubm90YXRpb25JbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6Q2FuY2VsQW5ub3RhdGlvbkltcG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxSdW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxSdW46IHN0cmluZ1tdID0gW1wib21pY3M6Q2FuY2VsUnVuXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxSdW5CYXRjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFJ1bkJhdGNoOiBzdHJpbmdbXSA9IFtcIm9taWNzOkNhbmNlbFJ1bkJhdGNoXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxWYXJpYW50SW1wb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsVmFyaWFudEltcG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpDYW5jZWxWYXJpYW50SW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbXBsZXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZDogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpDb21wbGV0ZU11bHRpcGFydFJlYWRTZXRVcGxvYWRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQW5ub3RhdGlvblN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQW5ub3RhdGlvblN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkNyZWF0ZUFubm90YXRpb25TdG9yZVwiLFxuXHRcdFwib21pY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFubm90YXRpb25TdG9yZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6Q3JlYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvblwiLFxuXHRcdFwib21pY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6Q3JlYXRlQ29uZmlndXJhdGlvblwiLFxuXHRcdFwiZWMyOkRlc2NyaWJlU2VjdXJpdHlHcm91cHNcIixcblx0XHRcImVjMjpEZXNjcmliZVN1Ym5ldHNcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpQYXNzQ29ubmVjdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNdWx0aXBhcnRSZWFkU2V0VXBsb2FkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZDogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpDcmVhdGVNdWx0aXBhcnRSZWFkU2V0VXBsb2FkXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWZlcmVuY2VTdG9yZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZmVyZW5jZVN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkNyZWF0ZVJlZmVyZW5jZVN0b3JlXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSdW5DYWNoZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJ1bkNhY2hlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkNyZWF0ZVJ1bkNhY2hlXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSdW5Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJ1bkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkNyZWF0ZVJ1bkdyb3VwXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXF1ZW5jZVN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VxdWVuY2VTdG9yZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpDcmVhdGVTZXF1ZW5jZVN0b3JlXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTaGFyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNoYXJlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkNyZWF0ZVNoYXJlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVWYXJpYW50U3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWYXJpYW50U3RvcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6Q3JlYXRlVmFyaWFudFN0b3JlXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkNyZWF0ZVdvcmtmbG93XCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UGFzc0Nvbm5lY3Rpb25cIixcblx0XHRcIm9taWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtmbG93VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmbG93VmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpDcmVhdGVXb3JrZmxvd1ZlcnNpb25cIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpQYXNzQ29ubmVjdGlvblwiLFxuXHRcdFwib21pY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQW5ub3RhdGlvblN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQW5ub3RhdGlvblN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkRlbGV0ZUFubm90YXRpb25TdG9yZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBbm5vdGF0aW9uU3RvcmVWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFubm90YXRpb25TdG9yZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkRlbGV0ZUFubm90YXRpb25TdG9yZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUJhdGNoIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQmF0Y2g6IHN0cmluZ1tdID0gW1wib21pY3M6RGVsZXRlQmF0Y2hcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcIm9taWNzOkRlbGV0ZUNvbmZpZ3VyYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlZmVyZW5jZTogc3RyaW5nW10gPSBbXCJvbWljczpEZWxldGVSZWZlcmVuY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlZmVyZW5jZVN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVmZXJlbmNlU3RvcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6RGVsZXRlUmVmZXJlbmNlU3RvcmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUnVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUnVuOiBzdHJpbmdbXSA9IFtcIm9taWNzOkRlbGV0ZVJ1blwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUnVuQmF0Y2ggQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSdW5CYXRjaDogc3RyaW5nW10gPSBbXCJvbWljczpEZWxldGVSdW5CYXRjaFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUnVuQ2FjaGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSdW5DYWNoZTogc3RyaW5nW10gPSBbXCJvbWljczpEZWxldGVSdW5DYWNoZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUnVuR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSdW5Hcm91cDogc3RyaW5nW10gPSBbXCJvbWljczpEZWxldGVSdW5Hcm91cFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUzNBY2Nlc3NQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTM0FjY2Vzc1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpEZWxldGVTM0FjY2Vzc1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXF1ZW5jZVN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VxdWVuY2VTdG9yZTogc3RyaW5nW10gPSBbXCJvbWljczpEZWxldGVTZXF1ZW5jZVN0b3JlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTaGFyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNoYXJlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkRlbGV0ZVNoYXJlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVWYXJpYW50U3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVWYXJpYW50U3RvcmU6IHN0cmluZ1tdID0gW1wib21pY3M6RGVsZXRlVmFyaWFudFN0b3JlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmbG93OiBzdHJpbmdbXSA9IFtcIm9taWNzOkRlbGV0ZVdvcmtmbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrZmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3JrZmxvd1ZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6RGVsZXRlV29ya2Zsb3dWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFubm90YXRpb25JbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFubm90YXRpb25JbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6R2V0QW5ub3RhdGlvbkltcG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBbm5vdGF0aW9uU3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFubm90YXRpb25TdG9yZTogc3RyaW5nW10gPSBbXCJvbWljczpHZXRBbm5vdGF0aW9uU3RvcmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFubm90YXRpb25TdG9yZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFubm90YXRpb25TdG9yZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6R2V0QW5ub3RhdGlvblN0b3JlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCYXRjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QmF0Y2g6IHN0cmluZ1tdID0gW1wib21pY3M6R2V0QmF0Y2hcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1wib21pY3M6R2V0Q29uZmlndXJhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVhZFNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVhZFNldDogc3RyaW5nW10gPSBbXCJvbWljczpHZXRSZWFkU2V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWFkU2V0QWN0aXZhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVhZFNldEFjdGl2YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6R2V0UmVhZFNldEFjdGl2YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVhZFNldEV4cG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVhZFNldEV4cG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpHZXRSZWFkU2V0RXhwb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlYWRTZXRJbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlYWRTZXRJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6R2V0UmVhZFNldEltcG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWFkU2V0TWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlYWRTZXRNZXRhZGF0YTogc3RyaW5nW10gPSBbXCJvbWljczpHZXRSZWFkU2V0TWV0YWRhdGFcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVmZXJlbmNlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFJlZmVyZW5jZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVmZXJlbmNlSW1wb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWZlcmVuY2VJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6R2V0UmVmZXJlbmNlSW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlZmVyZW5jZU1ldGFkYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWZlcmVuY2VNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpHZXRSZWZlcmVuY2VNZXRhZGF0YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWZlcmVuY2VTdG9yZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVmZXJlbmNlU3RvcmU6IHN0cmluZ1tdID0gW1wib21pY3M6R2V0UmVmZXJlbmNlU3RvcmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJ1biBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UnVuOiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFJ1blwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UnVuQ2FjaGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJ1bkNhY2hlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFJ1bkNhY2hlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSdW5Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UnVuR3JvdXA6IHN0cmluZ1tdID0gW1wib21pY3M6R2V0UnVuR3JvdXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJ1blRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJ1blRhc2s6IHN0cmluZ1tdID0gW1wib21pY3M6R2V0UnVuVGFza1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UzNBY2Nlc3NQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFMzQWNjZXNzUG9saWN5OiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFMzQWNjZXNzUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXF1ZW5jZVN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXF1ZW5jZVN0b3JlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFNlcXVlbmNlU3RvcmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNoYXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTaGFyZTogc3RyaW5nW10gPSBbXCJvbWljczpHZXRTaGFyZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VmFyaWFudEltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VmFyaWFudEltcG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpHZXRWYXJpYW50SW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFZhcmlhbnRTdG9yZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VmFyaWFudFN0b3JlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFZhcmlhbnRTdG9yZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0V29ya2Zsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFdvcmtmbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRXb3JrZmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFdvcmtmbG93VmVyc2lvbjogc3RyaW5nW10gPSBbXCJvbWljczpHZXRXb3JrZmxvd1ZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBbm5vdGF0aW9uSW1wb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbm5vdGF0aW9uSW1wb3J0Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpMaXN0QW5ub3RhdGlvbkltcG9ydEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFubm90YXRpb25TdG9yZVZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFubm90YXRpb25TdG9yZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkxpc3RBbm5vdGF0aW9uU3RvcmVWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QW5ub3RhdGlvblN0b3JlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbm5vdGF0aW9uU3RvcmVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkxpc3RBbm5vdGF0aW9uU3RvcmVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCYXRjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCYXRjaDogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0QmF0Y2hcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25maWd1cmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmF0aW9uczogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0Q29uZmlndXJhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNdWx0aXBhcnRSZWFkU2V0VXBsb2FkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNdWx0aXBhcnRSZWFkU2V0VXBsb2Fkczogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpMaXN0TXVsdGlwYXJ0UmVhZFNldFVwbG9hZHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlYWRTZXRBY3RpdmF0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWFkU2V0QWN0aXZhdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6TGlzdFJlYWRTZXRBY3RpdmF0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVhZFNldEV4cG9ydEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVhZFNldEV4cG9ydEpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6TGlzdFJlYWRTZXRFeHBvcnRKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWFkU2V0SW1wb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWFkU2V0SW1wb3J0Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpMaXN0UmVhZFNldEltcG9ydEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlYWRTZXRVcGxvYWRQYXJ0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWFkU2V0VXBsb2FkUGFydHM6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6TGlzdFJlYWRTZXRVcGxvYWRQYXJ0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVhZFNldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVhZFNldHM6IHN0cmluZ1tdID0gW1wib21pY3M6TGlzdFJlYWRTZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVmZXJlbmNlSW1wb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWZlcmVuY2VJbXBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkxpc3RSZWZlcmVuY2VJbXBvcnRKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWZlcmVuY2VTdG9yZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVmZXJlbmNlU3RvcmVzOiBzdHJpbmdbXSA9IFtcIm9taWNzOkxpc3RSZWZlcmVuY2VTdG9yZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWZlcmVuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlZmVyZW5jZXM6IHN0cmluZ1tdID0gW1wib21pY3M6TGlzdFJlZmVyZW5jZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSdW5DYWNoZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UnVuQ2FjaGVzOiBzdHJpbmdbXSA9IFtcIm9taWNzOkxpc3RSdW5DYWNoZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSdW5Hcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UnVuR3JvdXBzOiBzdHJpbmdbXSA9IFtcIm9taWNzOkxpc3RSdW5Hcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSdW5UYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSdW5UYXNrczogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0UnVuVGFza3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSdW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJ1bnM6IHN0cmluZ1tdID0gW1wib21pY3M6TGlzdFJ1bnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSdW5zSW5CYXRjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSdW5zSW5CYXRjaDogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0UnVuc0luQmF0Y2hcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXF1ZW5jZVN0b3JlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXF1ZW5jZVN0b3Jlczogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0U2VxdWVuY2VTdG9yZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTaGFyZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmVzOiBzdHJpbmdbXSA9IFtcIm9taWNzOkxpc3RTaGFyZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkxpc3RUYWdzRm9yUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RWYXJpYW50SW1wb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RWYXJpYW50SW1wb3J0Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpMaXN0VmFyaWFudEltcG9ydEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFZhcmlhbnRTdG9yZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VmFyaWFudFN0b3Jlczogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0VmFyaWFudFN0b3Jlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdvcmtmbG93VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2Zsb3dWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpMaXN0V29ya2Zsb3dWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0V29ya2Zsb3dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmtmbG93czogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0V29ya2Zsb3dzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRTM0FjY2Vzc1BvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFMzQWNjZXNzUG9saWN5OiBzdHJpbmdbXSA9IFtcIm9taWNzOlB1dFMzQWNjZXNzUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEFubm90YXRpb25JbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFubm90YXRpb25JbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJvbWljczpTdGFydEFubm90YXRpb25JbXBvcnRKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZWFkU2V0QWN0aXZhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVhZFNldEFjdGl2YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6U3RhcnRSZWFkU2V0QWN0aXZhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlYWRTZXRFeHBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlYWRTZXRFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJvbWljczpTdGFydFJlYWRTZXRFeHBvcnRKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZWFkU2V0SW1wb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZWFkU2V0SW1wb3J0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwib21pY3M6U3RhcnRSZWFkU2V0SW1wb3J0Sm9iXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlZmVyZW5jZUltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVmZXJlbmNlSW1wb3J0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwib21pY3M6U3RhcnRSZWZlcmVuY2VJbXBvcnRKb2JcIixcblx0XHRcIm9taWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UnVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSdW46IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJvbWljczpTdGFydFJ1blwiLFxuXHRcdFwib21pY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSdW5CYXRjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UnVuQmF0Y2g6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJvbWljczpTdGFydFJ1blwiLFxuXHRcdFwib21pY3M6U3RhcnRSdW5CYXRjaFwiLFxuXHRcdFwib21pY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRWYXJpYW50SW1wb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRWYXJpYW50SW1wb3J0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwib21pY3M6U3RhcnRWYXJpYW50SW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wib21pY3M6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcIm9taWNzOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFubm90YXRpb25TdG9yZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFubm90YXRpb25TdG9yZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpVcGRhdGVBbm5vdGF0aW9uU3RvcmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFubm90YXRpb25TdG9yZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6VXBkYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSdW5DYWNoZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJ1bkNhY2hlOiBzdHJpbmdbXSA9IFtcIm9taWNzOlVwZGF0ZVJ1bkNhY2hlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSdW5Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJ1bkdyb3VwOiBzdHJpbmdbXSA9IFtcIm9taWNzOlVwZGF0ZVJ1bkdyb3VwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTZXF1ZW5jZVN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VxdWVuY2VTdG9yZTogc3RyaW5nW10gPSBbXCJvbWljczpVcGRhdGVTZXF1ZW5jZVN0b3JlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVWYXJpYW50U3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVWYXJpYW50U3RvcmU6IHN0cmluZ1tdID0gW1wib21pY3M6VXBkYXRlVmFyaWFudFN0b3JlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtmbG93OiBzdHJpbmdbXSA9IFtcIm9taWNzOlVwZGF0ZVdvcmtmbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVXb3JrZmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrZmxvd1ZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6VXBkYXRlV29ya2Zsb3dWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwbG9hZFJlYWRTZXRQYXJ0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBsb2FkUmVhZFNldFBhcnQ6IHN0cmluZ1tdID0gW1wib21pY3M6VXBsb2FkUmVhZFNldFBhcnRcIl07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBvbWljcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE9taWNzQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBbm5vdGF0aW9uU3RvcmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQW5ub3RhdGlvblN0b3JlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBbm5vdGF0aW9uU3RvcmVWZXJzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFubm90YXRpb25TdG9yZVZlcnNpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbmZpZ3VyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVmZXJlbmNlU3RvcmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVmZXJlbmNlU3RvcmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJ1bkNhY2hlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJ1bkNhY2hlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSdW5Hcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSdW5Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2VxdWVuY2VTdG9yZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXF1ZW5jZVN0b3JlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVWYXJpYW50U3RvcmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVmFyaWFudFN0b3JlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVXb3JrZmxvdyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrZmxvd0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlV29ya2Zsb3dWZXJzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmbG93VmVyc2lvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRSdW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSdW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0UnVuQmF0Y2ggYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSdW5CYXRjaENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
1269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib21pY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL29taWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsNENBQTRDO0FBQzVDLG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLFlBQVk7O0FBQXpCLG9DQThWQzs7O0FBN1ZBLDhCQUE4QjtBQUNkLDJCQUFjLEdBQUcsT0FBTyxDQUFDO0FBRXpDLGdEQUFnRDtBQUNoQyx3Q0FBMkIsR0FDMUMsbUNBQW1DLENBQUM7QUFDckMsZ0NBQWdDO0FBQ2hCLHdCQUFXLEdBQUcsbUJBQW1CLENBQUM7QUFDbEQsdUNBQXVDO0FBQ3ZCLCtCQUFrQixHQUFHLDBCQUEwQixDQUFDO0FBQ2hFLDhDQUE4QztBQUM5QixzQ0FBeUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUM5RSw4QkFBOEI7QUFDZCxzQkFBUyxHQUFHLGlCQUFpQixDQUFDO0FBQzlDLG1DQUFtQztBQUNuQiwyQkFBYyxHQUFHLHNCQUFzQixDQUFDO0FBQ3hELDJDQUEyQztBQUMzQixtQ0FBc0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN4RSxtREFBbUQ7QUFDbkMsMkNBQThCLEdBQzdDLHNDQUFzQyxDQUFDO0FBQ3hDLDBDQUEwQztBQUMxQixrQ0FBcUIsR0FBRyw2QkFBNkIsQ0FBQztBQUN0RSxpREFBaUQ7QUFDakMseUNBQTRCLEdBQzNDLG9DQUFvQyxDQUFDO0FBQ3RDLHdDQUF3QztBQUN4QixnQ0FBbUIsR0FBRywyQkFBMkIsQ0FBQztBQUNsRSxpREFBaUQ7QUFDakMseUNBQTRCLEdBQzNDLG9DQUFvQyxDQUFDO0FBQ3RDLHlDQUF5QztBQUN6QixpQ0FBb0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNwRSxtQ0FBbUM7QUFDbkIsMkJBQWMsR0FBRyxzQkFBc0IsQ0FBQztBQUN4RCxtQ0FB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QUNGLDZEQUE2RDtBQUM3QywwQ0FBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2QywrQkFBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxnQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsNEJBQVksR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9vbWljcy5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgb21pY3Mgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE9taWNzQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcIm9taWNzXCI7XG5cblx0LyoqIFtXcml0ZV0gb21pY3M6QWJvcnRNdWx0aXBhcnRSZWFkU2V0VXBsb2FkICovXG5cdHN0YXRpYyByZWFkb25seSBBYm9ydE11bHRpcGFydFJlYWRTZXRVcGxvYWQgPVxuXHRcdFwib21pY3M6QWJvcnRNdWx0aXBhcnRSZWFkU2V0VXBsb2FkXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkFjY2VwdFNoYXJlICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRTaGFyZSA9IFwib21pY3M6QWNjZXB0U2hhcmVcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6QmF0Y2hEZWxldGVSZWFkU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZVJlYWRTZXQgPSBcIm9taWNzOkJhdGNoRGVsZXRlUmVhZFNldFwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDYW5jZWxBbm5vdGF0aW9uSW1wb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxBbm5vdGF0aW9uSW1wb3J0Sm9iID0gXCJvbWljczpDYW5jZWxBbm5vdGF0aW9uSW1wb3J0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNhbmNlbFJ1biAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsUnVuID0gXCJvbWljczpDYW5jZWxSdW5cIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6Q2FuY2VsUnVuQmF0Y2ggKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFJ1bkJhdGNoID0gXCJvbWljczpDYW5jZWxSdW5CYXRjaFwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDYW5jZWxWYXJpYW50SW1wb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxWYXJpYW50SW1wb3J0Sm9iID0gXCJvbWljczpDYW5jZWxWYXJpYW50SW1wb3J0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNvbXBsZXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29tcGxldGVNdWx0aXBhcnRSZWFkU2V0VXBsb2FkID1cblx0XHRcIm9taWNzOkNvbXBsZXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZFwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDcmVhdGVBbm5vdGF0aW9uU3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFubm90YXRpb25TdG9yZSA9IFwib21pY3M6Q3JlYXRlQW5ub3RhdGlvblN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNyZWF0ZUFubm90YXRpb25TdG9yZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFubm90YXRpb25TdG9yZVZlcnNpb24gPVxuXHRcdFwib21pY3M6Q3JlYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDcmVhdGVDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uID0gXCJvbWljczpDcmVhdGVDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNyZWF0ZU11bHRpcGFydFJlYWRTZXRVcGxvYWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU11bHRpcGFydFJlYWRTZXRVcGxvYWQgPVxuXHRcdFwib21pY3M6Q3JlYXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZFwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDcmVhdGVSZWZlcmVuY2VTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVmZXJlbmNlU3RvcmUgPSBcIm9taWNzOkNyZWF0ZVJlZmVyZW5jZVN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNyZWF0ZVJ1bkNhY2hlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSdW5DYWNoZSA9IFwib21pY3M6Q3JlYXRlUnVuQ2FjaGVcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6Q3JlYXRlUnVuR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJ1bkdyb3VwID0gXCJvbWljczpDcmVhdGVSdW5Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDcmVhdGVTZXF1ZW5jZVN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXF1ZW5jZVN0b3JlID0gXCJvbWljczpDcmVhdGVTZXF1ZW5jZVN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNyZWF0ZVNoYXJlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTaGFyZSA9IFwib21pY3M6Q3JlYXRlU2hhcmVcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6Q3JlYXRlVmFyaWFudFN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWYXJpYW50U3RvcmUgPSBcIm9taWNzOkNyZWF0ZVZhcmlhbnRTdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpDcmVhdGVXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2Zsb3cgPSBcIm9taWNzOkNyZWF0ZVdvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkNyZWF0ZVdvcmtmbG93VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2Zsb3dWZXJzaW9uID0gXCJvbWljczpDcmVhdGVXb3JrZmxvd1ZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6RGVsZXRlQW5ub3RhdGlvblN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBbm5vdGF0aW9uU3RvcmUgPSBcIm9taWNzOkRlbGV0ZUFubm90YXRpb25TdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpEZWxldGVBbm5vdGF0aW9uU3RvcmVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvbnMgPVxuXHRcdFwib21pY3M6RGVsZXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvbnNcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6RGVsZXRlQmF0Y2ggKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJhdGNoID0gXCJvbWljczpEZWxldGVCYXRjaFwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpEZWxldGVDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uID0gXCJvbWljczpEZWxldGVDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkRlbGV0ZVJlZmVyZW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVmZXJlbmNlID0gXCJvbWljczpEZWxldGVSZWZlcmVuY2VcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6RGVsZXRlUmVmZXJlbmNlU3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlZmVyZW5jZVN0b3JlID0gXCJvbWljczpEZWxldGVSZWZlcmVuY2VTdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpEZWxldGVSdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJ1biA9IFwib21pY3M6RGVsZXRlUnVuXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkRlbGV0ZVJ1bkJhdGNoICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSdW5CYXRjaCA9IFwib21pY3M6RGVsZXRlUnVuQmF0Y2hcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6RGVsZXRlUnVuQ2FjaGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJ1bkNhY2hlID0gXCJvbWljczpEZWxldGVSdW5DYWNoZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpEZWxldGVSdW5Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUnVuR3JvdXAgPSBcIm9taWNzOkRlbGV0ZVJ1bkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkRlbGV0ZVMzQWNjZXNzUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTM0FjY2Vzc1BvbGljeSA9IFwib21pY3M6RGVsZXRlUzNBY2Nlc3NQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6RGVsZXRlU2VxdWVuY2VTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VxdWVuY2VTdG9yZSA9IFwib21pY3M6RGVsZXRlU2VxdWVuY2VTdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpEZWxldGVTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2hhcmUgPSBcIm9taWNzOkRlbGV0ZVNoYXJlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOkRlbGV0ZVZhcmlhbnRTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVmFyaWFudFN0b3JlID0gXCJvbWljczpEZWxldGVWYXJpYW50U3RvcmVcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6RGVsZXRlV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmbG93ID0gXCJvbWljczpEZWxldGVXb3JrZmxvd1wiO1xuXHQvKiogW1dyaXRlXSBvbWljczpEZWxldGVXb3JrZmxvd1ZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmbG93VmVyc2lvbiA9IFwib21pY3M6RGVsZXRlV29ya2Zsb3dWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0QW5ub3RhdGlvbkltcG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QW5ub3RhdGlvbkltcG9ydEpvYiA9IFwib21pY3M6R2V0QW5ub3RhdGlvbkltcG9ydEpvYlwiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldEFubm90YXRpb25TdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QW5ub3RhdGlvblN0b3JlID0gXCJvbWljczpHZXRBbm5vdGF0aW9uU3RvcmVcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRBbm5vdGF0aW9uU3RvcmVWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBbm5vdGF0aW9uU3RvcmVWZXJzaW9uID1cblx0XHRcIm9taWNzOkdldEFubm90YXRpb25TdG9yZVZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRCYXRjaCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmF0Y2ggPSBcIm9taWNzOkdldEJhdGNoXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29uZmlndXJhdGlvbiA9IFwib21pY3M6R2V0Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFJlYWRTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlYWRTZXQgPSBcIm9taWNzOkdldFJlYWRTZXRcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRSZWFkU2V0QWN0aXZhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVhZFNldEFjdGl2YXRpb25Kb2IgPVxuXHRcdFwib21pY3M6R2V0UmVhZFNldEFjdGl2YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRSZWFkU2V0RXhwb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWFkU2V0RXhwb3J0Sm9iID0gXCJvbWljczpHZXRSZWFkU2V0RXhwb3J0Sm9iXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0UmVhZFNldEltcG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVhZFNldEltcG9ydEpvYiA9IFwib21pY3M6R2V0UmVhZFNldEltcG9ydEpvYlwiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFJlYWRTZXRNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVhZFNldE1ldGFkYXRhID0gXCJvbWljczpHZXRSZWFkU2V0TWV0YWRhdGFcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRSZWZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlZmVyZW5jZSA9IFwib21pY3M6R2V0UmVmZXJlbmNlXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0UmVmZXJlbmNlSW1wb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWZlcmVuY2VJbXBvcnRKb2IgPSBcIm9taWNzOkdldFJlZmVyZW5jZUltcG9ydEpvYlwiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFJlZmVyZW5jZU1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWZlcmVuY2VNZXRhZGF0YSA9IFwib21pY3M6R2V0UmVmZXJlbmNlTWV0YWRhdGFcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRSZWZlcmVuY2VTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVmZXJlbmNlU3RvcmUgPSBcIm9taWNzOkdldFJlZmVyZW5jZVN0b3JlXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0UnVuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSdW4gPSBcIm9taWNzOkdldFJ1blwiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFJ1bkNhY2hlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSdW5DYWNoZSA9IFwib21pY3M6R2V0UnVuQ2FjaGVcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRSdW5Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UnVuR3JvdXAgPSBcIm9taWNzOkdldFJ1bkdyb3VwXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0UnVuVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UnVuVGFzayA9IFwib21pY3M6R2V0UnVuVGFza1wiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFMzQWNjZXNzUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTM0FjY2Vzc1BvbGljeSA9IFwib21pY3M6R2V0UzNBY2Nlc3NQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRTZXF1ZW5jZVN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXF1ZW5jZVN0b3JlID0gXCJvbWljczpHZXRTZXF1ZW5jZVN0b3JlXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0U2hhcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNoYXJlID0gXCJvbWljczpHZXRTaGFyZVwiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFZhcmlhbnRJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFZhcmlhbnRJbXBvcnRKb2IgPSBcIm9taWNzOkdldFZhcmlhbnRJbXBvcnRKb2JcIjtcblx0LyoqIFtSZWFkXSBvbWljczpHZXRWYXJpYW50U3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFZhcmlhbnRTdG9yZSA9IFwib21pY3M6R2V0VmFyaWFudFN0b3JlXCI7XG5cdC8qKiBbUmVhZF0gb21pY3M6R2V0V29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFdvcmtmbG93ID0gXCJvbWljczpHZXRXb3JrZmxvd1wiO1xuXHQvKiogW1JlYWRdIG9taWNzOkdldFdvcmtmbG93VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0V29ya2Zsb3dWZXJzaW9uID0gXCJvbWljczpHZXRXb3JrZmxvd1ZlcnNpb25cIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0QW5ub3RhdGlvbkltcG9ydEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbm5vdGF0aW9uSW1wb3J0Sm9icyA9IFwib21pY3M6TGlzdEFubm90YXRpb25JbXBvcnRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdEFubm90YXRpb25TdG9yZVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QW5ub3RhdGlvblN0b3JlVmVyc2lvbnMgPVxuXHRcdFwib21pY3M6TGlzdEFubm90YXRpb25TdG9yZVZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdEFubm90YXRpb25TdG9yZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbm5vdGF0aW9uU3RvcmVzID0gXCJvbWljczpMaXN0QW5ub3RhdGlvblN0b3Jlc1wiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RCYXRjaCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJhdGNoID0gXCJvbWljczpMaXN0QmF0Y2hcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0Q29uZmlndXJhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmF0aW9ucyA9IFwib21pY3M6TGlzdENvbmZpZ3VyYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdE11bHRpcGFydFJlYWRTZXRVcGxvYWRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TXVsdGlwYXJ0UmVhZFNldFVwbG9hZHMgPVxuXHRcdFwib21pY3M6TGlzdE11bHRpcGFydFJlYWRTZXRVcGxvYWRzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFJlYWRTZXRBY3RpdmF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlYWRTZXRBY3RpdmF0aW9uSm9icyA9IFwib21pY3M6TGlzdFJlYWRTZXRBY3RpdmF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RSZWFkU2V0RXhwb3J0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlYWRTZXRFeHBvcnRKb2JzID0gXCJvbWljczpMaXN0UmVhZFNldEV4cG9ydEpvYnNcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0UmVhZFNldEltcG9ydEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWFkU2V0SW1wb3J0Sm9icyA9IFwib21pY3M6TGlzdFJlYWRTZXRJbXBvcnRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFJlYWRTZXRVcGxvYWRQYXJ0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlYWRTZXRVcGxvYWRQYXJ0cyA9IFwib21pY3M6TGlzdFJlYWRTZXRVcGxvYWRQYXJ0c1wiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RSZWFkU2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlYWRTZXRzID0gXCJvbWljczpMaXN0UmVhZFNldHNcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0UmVmZXJlbmNlSW1wb3J0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlZmVyZW5jZUltcG9ydEpvYnMgPSBcIm9taWNzOkxpc3RSZWZlcmVuY2VJbXBvcnRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFJlZmVyZW5jZVN0b3JlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlZmVyZW5jZVN0b3JlcyA9IFwib21pY3M6TGlzdFJlZmVyZW5jZVN0b3Jlc1wiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RSZWZlcmVuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVmZXJlbmNlcyA9IFwib21pY3M6TGlzdFJlZmVyZW5jZXNcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0UnVuQ2FjaGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UnVuQ2FjaGVzID0gXCJvbWljczpMaXN0UnVuQ2FjaGVzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFJ1bkdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJ1bkdyb3VwcyA9IFwib21pY3M6TGlzdFJ1bkdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RSdW5UYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJ1blRhc2tzID0gXCJvbWljczpMaXN0UnVuVGFza3NcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0UnVucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJ1bnMgPSBcIm9taWNzOkxpc3RSdW5zXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFJ1bnNJbkJhdGNoICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UnVuc0luQmF0Y2ggPSBcIm9taWNzOkxpc3RSdW5zSW5CYXRjaFwiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RTZXF1ZW5jZVN0b3JlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcXVlbmNlU3RvcmVzID0gXCJvbWljczpMaXN0U2VxdWVuY2VTdG9yZXNcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0U2hhcmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmVzID0gXCJvbWljczpMaXN0U2hhcmVzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwib21pY3M6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RWYXJpYW50SW1wb3J0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFZhcmlhbnRJbXBvcnRKb2JzID0gXCJvbWljczpMaXN0VmFyaWFudEltcG9ydEpvYnNcIjtcblx0LyoqIFtMaXN0XSBvbWljczpMaXN0VmFyaWFudFN0b3JlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFZhcmlhbnRTdG9yZXMgPSBcIm9taWNzOkxpc3RWYXJpYW50U3RvcmVzXCI7XG5cdC8qKiBbTGlzdF0gb21pY3M6TGlzdFdvcmtmbG93VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXb3JrZmxvd1ZlcnNpb25zID0gXCJvbWljczpMaXN0V29ya2Zsb3dWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIG9taWNzOkxpc3RXb3JrZmxvd3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXb3JrZmxvd3MgPSBcIm9taWNzOkxpc3RXb3JrZmxvd3NcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6UHV0UzNBY2Nlc3NQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFMzQWNjZXNzUG9saWN5ID0gXCJvbWljczpQdXRTM0FjY2Vzc1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpTdGFydEFubm90YXRpb25JbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QW5ub3RhdGlvbkltcG9ydEpvYiA9IFwib21pY3M6U3RhcnRBbm5vdGF0aW9uSW1wb3J0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOlN0YXJ0UmVhZFNldEFjdGl2YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVhZFNldEFjdGl2YXRpb25Kb2IgPSBcIm9taWNzOlN0YXJ0UmVhZFNldEFjdGl2YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6U3RhcnRSZWFkU2V0RXhwb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlYWRTZXRFeHBvcnRKb2IgPSBcIm9taWNzOlN0YXJ0UmVhZFNldEV4cG9ydEpvYlwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpTdGFydFJlYWRTZXRJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVhZFNldEltcG9ydEpvYiA9IFwib21pY3M6U3RhcnRSZWFkU2V0SW1wb3J0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOlN0YXJ0UmVmZXJlbmNlSW1wb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlZmVyZW5jZUltcG9ydEpvYiA9IFwib21pY3M6U3RhcnRSZWZlcmVuY2VJbXBvcnRKb2JcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6U3RhcnRSdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UnVuID0gXCJvbWljczpTdGFydFJ1blwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpTdGFydFJ1bkJhdGNoICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJ1bkJhdGNoID0gXCJvbWljczpTdGFydFJ1bkJhdGNoXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOlN0YXJ0VmFyaWFudEltcG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRWYXJpYW50SW1wb3J0Sm9iID0gXCJvbWljczpTdGFydFZhcmlhbnRJbXBvcnRKb2JcIjtcblx0LyoqIFtUYWdnaW5nXSBvbWljczpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcIm9taWNzOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gb21pY3M6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwib21pY3M6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpVcGRhdGVBbm5vdGF0aW9uU3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFubm90YXRpb25TdG9yZSA9IFwib21pY3M6VXBkYXRlQW5ub3RhdGlvblN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOlVwZGF0ZUFubm90YXRpb25TdG9yZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFubm90YXRpb25TdG9yZVZlcnNpb24gPVxuXHRcdFwib21pY3M6VXBkYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpVcGRhdGVSdW5DYWNoZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUnVuQ2FjaGUgPSBcIm9taWNzOlVwZGF0ZVJ1bkNhY2hlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOlVwZGF0ZVJ1bkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSdW5Hcm91cCA9IFwib21pY3M6VXBkYXRlUnVuR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6VXBkYXRlU2VxdWVuY2VTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VxdWVuY2VTdG9yZSA9IFwib21pY3M6VXBkYXRlU2VxdWVuY2VTdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpVcGRhdGVWYXJpYW50U3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVZhcmlhbnRTdG9yZSA9IFwib21pY3M6VXBkYXRlVmFyaWFudFN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIG9taWNzOlVwZGF0ZVdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrZmxvdyA9IFwib21pY3M6VXBkYXRlV29ya2Zsb3dcIjtcblx0LyoqIFtXcml0ZV0gb21pY3M6VXBkYXRlV29ya2Zsb3dWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrZmxvd1ZlcnNpb24gPSBcIm9taWNzOlVwZGF0ZVdvcmtmbG93VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBvbWljczpVcGxvYWRSZWFkU2V0UGFydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBsb2FkUmVhZFNldFBhcnQgPSBcIm9taWNzOlVwbG9hZFJlYWRTZXRQYXJ0XCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldEFubm90YXRpb25JbXBvcnRKb2IsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldEFubm90YXRpb25TdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0QW5ub3RhdGlvblN0b3JlVmVyc2lvbixcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0QmF0Y2gsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldENvbmZpZ3VyYXRpb24sXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFJlYWRTZXQsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFJlYWRTZXRBY3RpdmF0aW9uSm9iLFxuXHRcdE9taWNzQWN0aW9ucy5hY3Rpb25HZXRSZWFkU2V0RXhwb3J0Sm9iLFxuXHRcdE9taWNzQWN0aW9ucy5hY3Rpb25HZXRSZWFkU2V0SW1wb3J0Sm9iLFxuXHRcdE9taWNzQWN0aW9ucy5hY3Rpb25HZXRSZWFkU2V0TWV0YWRhdGEsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFJlZmVyZW5jZSxcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0UmVmZXJlbmNlSW1wb3J0Sm9iLFxuXHRcdE9taWNzQWN0aW9ucy5hY3Rpb25HZXRSZWZlcmVuY2VNZXRhZGF0YSxcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0UmVmZXJlbmNlU3RvcmUsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFJ1bixcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0UnVuQ2FjaGUsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFJ1bkdyb3VwLFxuXHRcdE9taWNzQWN0aW9ucy5hY3Rpb25HZXRSdW5UYXNrLFxuXHRcdE9taWNzQWN0aW9ucy5hY3Rpb25HZXRTM0FjY2Vzc1BvbGljeSxcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0U2VxdWVuY2VTdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0U2hhcmUsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFZhcmlhbnRJbXBvcnRKb2IsXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFZhcmlhbnRTdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuYWN0aW9uR2V0V29ya2Zsb3csXG5cdFx0T21pY3NBY3Rpb25zLmFjdGlvbkdldFdvcmtmbG93VmVyc2lvbixcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRPbWljc0FjdGlvbnMuQWJvcnRNdWx0aXBhcnRSZWFkU2V0VXBsb2FkLFxuXHRcdE9taWNzQWN0aW9ucy5BY2NlcHRTaGFyZSxcblx0XHRPbWljc0FjdGlvbnMuQmF0Y2hEZWxldGVSZWFkU2V0LFxuXHRcdE9taWNzQWN0aW9ucy5DYW5jZWxBbm5vdGF0aW9uSW1wb3J0Sm9iLFxuXHRcdE9taWNzQWN0aW9ucy5DYW5jZWxSdW4sXG5cdFx0T21pY3NBY3Rpb25zLkNhbmNlbFJ1bkJhdGNoLFxuXHRcdE9taWNzQWN0aW9ucy5DYW5jZWxWYXJpYW50SW1wb3J0Sm9iLFxuXHRcdE9taWNzQWN0aW9ucy5Db21wbGV0ZU11bHRpcGFydFJlYWRTZXRVcGxvYWQsXG5cdFx0T21pY3NBY3Rpb25zLkNyZWF0ZUFubm90YXRpb25TdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvbixcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlQ29uZmlndXJhdGlvbixcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZCxcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlUmVmZXJlbmNlU3RvcmUsXG5cdFx0T21pY3NBY3Rpb25zLkNyZWF0ZVJ1bkNhY2hlLFxuXHRcdE9taWNzQWN0aW9ucy5DcmVhdGVSdW5Hcm91cCxcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlU2VxdWVuY2VTdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlU2hhcmUsXG5cdFx0T21pY3NBY3Rpb25zLkNyZWF0ZVZhcmlhbnRTdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuQ3JlYXRlV29ya2Zsb3csXG5cdFx0T21pY3NBY3Rpb25zLkNyZWF0ZVdvcmtmbG93VmVyc2lvbixcblx0XHRPbWljc0FjdGlvbnMuRGVsZXRlQW5ub3RhdGlvblN0b3JlLFxuXHRcdE9taWNzQWN0aW9ucy5EZWxldGVBbm5vdGF0aW9uU3RvcmVWZXJzaW9ucyxcblx0XHRPbWljc0FjdGlvbnMuRGVsZXRlQmF0Y2gsXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZUNvbmZpZ3VyYXRpb24sXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZVJlZmVyZW5jZSxcblx0XHRPbWljc0FjdGlvbnMuRGVsZXRlUmVmZXJlbmNlU3RvcmUsXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZVJ1bixcblx0XHRPbWljc0FjdGlvbnMuRGVsZXRlUnVuQmF0Y2gsXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZVJ1bkNhY2hlLFxuXHRcdE9taWNzQWN0aW9ucy5EZWxldGVSdW5Hcm91cCxcblx0XHRPbWljc0FjdGlvbnMuRGVsZXRlUzNBY2Nlc3NQb2xpY3ksXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZVNlcXVlbmNlU3RvcmUsXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZVNoYXJlLFxuXHRcdE9taWNzQWN0aW9ucy5EZWxldGVWYXJpYW50U3RvcmUsXG5cdFx0T21pY3NBY3Rpb25zLkRlbGV0ZVdvcmtmbG93LFxuXHRcdE9taWNzQWN0aW9ucy5EZWxldGVXb3JrZmxvd1ZlcnNpb24sXG5cdFx0T21pY3NBY3Rpb25zLlB1dFMzQWNjZXNzUG9saWN5LFxuXHRcdE9taWNzQWN0aW9ucy5TdGFydEFubm90YXRpb25JbXBvcnRKb2IsXG5cdFx0T21pY3NBY3Rpb25zLlN0YXJ0UmVhZFNldEFjdGl2YXRpb25Kb2IsXG5cdFx0T21pY3NBY3Rpb25zLlN0YXJ0UmVhZFNldEV4cG9ydEpvYixcblx0XHRPbWljc0FjdGlvbnMuU3RhcnRSZWFkU2V0SW1wb3J0Sm9iLFxuXHRcdE9taWNzQWN0aW9ucy5TdGFydFJlZmVyZW5jZUltcG9ydEpvYixcblx0XHRPbWljc0FjdGlvbnMuU3RhcnRSdW4sXG5cdFx0T21pY3NBY3Rpb25zLlN0YXJ0UnVuQmF0Y2gsXG5cdFx0T21pY3NBY3Rpb25zLlN0YXJ0VmFyaWFudEltcG9ydEpvYixcblx0XHRPbWljc0FjdGlvbnMuVXBkYXRlQW5ub3RhdGlvblN0b3JlLFxuXHRcdE9taWNzQWN0aW9ucy5VcGRhdGVBbm5vdGF0aW9uU3RvcmVWZXJzaW9uLFxuXHRcdE9taWNzQWN0aW9ucy5VcGRhdGVSdW5DYWNoZSxcblx0XHRPbWljc0FjdGlvbnMuVXBkYXRlUnVuR3JvdXAsXG5cdFx0T21pY3NBY3Rpb25zLlVwZGF0ZVNlcXVlbmNlU3RvcmUsXG5cdFx0T21pY3NBY3Rpb25zLlVwZGF0ZVZhcmlhbnRTdG9yZSxcblx0XHRPbWljc0FjdGlvbnMuVXBkYXRlV29ya2Zsb3csXG5cdFx0T21pY3NBY3Rpb25zLlVwZGF0ZVdvcmtmbG93VmVyc2lvbixcblx0XHRPbWljc0FjdGlvbnMuVXBsb2FkUmVhZFNldFBhcnQsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdE9taWNzQWN0aW9ucy5MaXN0QW5ub3RhdGlvbkltcG9ydEpvYnMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RBbm5vdGF0aW9uU3RvcmVWZXJzaW9ucyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdEFubm90YXRpb25TdG9yZXMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RCYXRjaCxcblx0XHRPbWljc0FjdGlvbnMuTGlzdENvbmZpZ3VyYXRpb25zLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0TXVsdGlwYXJ0UmVhZFNldFVwbG9hZHMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RSZWFkU2V0QWN0aXZhdGlvbkpvYnMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RSZWFkU2V0RXhwb3J0Sm9icyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdFJlYWRTZXRJbXBvcnRKb2JzLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0UmVhZFNldFVwbG9hZFBhcnRzLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0UmVhZFNldHMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RSZWZlcmVuY2VJbXBvcnRKb2JzLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0UmVmZXJlbmNlU3RvcmVzLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0UmVmZXJlbmNlcyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdFJ1bkNhY2hlcyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdFJ1bkdyb3Vwcyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdFJ1blRhc2tzLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0UnVucyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdFJ1bnNJbkJhdGNoLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0U2VxdWVuY2VTdG9yZXMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RTaGFyZXMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RWYXJpYW50SW1wb3J0Sm9icyxcblx0XHRPbWljc0FjdGlvbnMuTGlzdFZhcmlhbnRTdG9yZXMsXG5cdFx0T21pY3NBY3Rpb25zLkxpc3RXb3JrZmxvd1ZlcnNpb25zLFxuXHRcdE9taWNzQWN0aW9ucy5MaXN0V29ya2Zsb3dzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRPbWljc0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0T21pY3NBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBBbm5vdGF0aW9uU3RvcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzQW5ub3RhdGlvblN0b3JlQXJuUHJvcHMge1xuXHQvKiogVGhlIEFubm90YXRpb25TdG9yZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFubm90YXRpb25TdG9yZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBBbm5vdGF0aW9uU3RvcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzQW5ub3RhdGlvblN0b3JlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBbm5vdGF0aW9uU3RvcmVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYW5ub3RhdGlvblN0b3JlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQW5ub3RhdGlvblN0b3JlVmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT21pY3NBbm5vdGF0aW9uU3RvcmVWZXJzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEFubm90YXRpb25TdG9yZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFubm90YXRpb25TdG9yZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBBbm5vdGF0aW9uU3RvcmVWZXJzaW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYW5ub3RhdGlvblN0b3JlVmVyc2lvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBBbm5vdGF0aW9uU3RvcmVWZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc0Fubm90YXRpb25TdG9yZVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFubm90YXRpb25TdG9yZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhbm5vdGF0aW9uU3RvcmVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQW5ub3RhdGlvblN0b3JlVmVyc2lvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhbm5vdGF0aW9uU3RvcmVWZXJzaW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgVGFza1Jlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1Rhc2tSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBUYXNrUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzVGFza1Jlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBWYXJpYW50U3RvcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzVmFyaWFudFN0b3JlQXJuUHJvcHMge1xuXHQvKiogVGhlIFZhcmlhbnRTdG9yZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHZhcmlhbnRTdG9yZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBWYXJpYW50U3RvcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzVmFyaWFudFN0b3JlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBWYXJpYW50U3RvcmVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdmFyaWFudFN0b3JlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgV29ya2Zsb3dWZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1dvcmtmbG93VmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIFRoZSBWZXJzaW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdmVyc2lvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBXb3JrZmxvd1ZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzV29ya2Zsb3dWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVmVyc2lvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB2ZXJzaW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT21pY3NDb25maWd1cmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc0NvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWFkU2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1JlYWRTZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VxdWVuY2VTdG9yZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXF1ZW5jZVN0b3JlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWFkU2V0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlYWRTZXRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlYWRTZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzUmVhZFNldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VxdWVuY2VTdG9yZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VxdWVuY2VTdG9yZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVhZFNldElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVhZFNldElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWZlcmVuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzUmVmZXJlbmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlZmVyZW5jZVN0b3JlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlZmVyZW5jZVN0b3JlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWZlcmVuY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVmZXJlbmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZWZlcmVuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzUmVmZXJlbmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWZlcmVuY2VTdG9yZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVmZXJlbmNlU3RvcmVJZDogc3RyaW5nO1xuXHQvKiogVGhlIFJlZmVyZW5jZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVmZXJlbmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlZmVyZW5jZVN0b3JlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1JlZmVyZW5jZVN0b3JlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlZmVyZW5jZVN0b3JlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlZmVyZW5jZVN0b3JlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZWZlcmVuY2VTdG9yZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT21pY3NSZWZlcmVuY2VTdG9yZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVmZXJlbmNlU3RvcmVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlZmVyZW5jZVN0b3JlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJ1biBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT21pY3NSdW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcnVuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1J1bkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcnVuQmF0Y2ggQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzUnVuQmF0Y2hBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQmF0Y2hJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYmF0Y2hJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJ1bkJhdGNoIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1J1bkJhdGNoQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCYXRjaElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYmF0Y2hJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcnVuQ2FjaGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzUnVuQ2FjaGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcnVuQ2FjaGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzUnVuQ2FjaGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJ1bkdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1J1bkdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJ1bkdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1J1bkdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXF1ZW5jZVN0b3JlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1NlcXVlbmNlU3RvcmVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VxdWVuY2VTdG9yZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXF1ZW5jZVN0b3JlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXF1ZW5jZVN0b3JlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbWljc1NlcXVlbmNlU3RvcmVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlcXVlbmNlU3RvcmVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcXVlbmNlU3RvcmVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya2Zsb3cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzV29ya2Zsb3dBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgd29ya2Zsb3cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9taWNzV29ya2Zsb3dBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuY29uc3QgQW5ub3RhdGlvblN0b3JlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YW5ub3RhdGlvblN0b3JlXFwvKD88YW5ub3RhdGlvblN0b3JlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQW5ub3RhdGlvblN0b3JlVmVyc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFubm90YXRpb25TdG9yZVxcLyg/PGFubm90YXRpb25TdG9yZU5hbWU+W146Lz9dKylcXC92ZXJzaW9uXFwvKD88YW5ub3RhdGlvblN0b3JlVmVyc2lvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFRhc2tSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRhc2tcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgVmFyaWFudFN0b3JlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dmFyaWFudFN0b3JlXFwvKD88dmFyaWFudFN0b3JlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgV29ya2Zsb3dWZXJzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya2Zsb3dcXC8oPzxpZD5bXjovP10rKVxcL3ZlcnNpb25cXC8oPzx2ZXJzaW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ29uZmlndXJhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbmZpZ3VyYXRpb25cXC8oPzxuYW1lPlteOi8/XSspJC87XG5jb25zdCBSZWFkU2V0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VxdWVuY2VTdG9yZVxcLyg/PHNlcXVlbmNlU3RvcmVJZD5bXjovP10rKVxcL3JlYWRTZXRcXC8oPzxyZWFkU2V0SWQ+W146Lz9dKykkLztcbmNvbnN0IFJlZmVyZW5jZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlZmVyZW5jZVN0b3JlXFwvKD88cmVmZXJlbmNlU3RvcmVJZD5bXjovP10rKVxcL3JlZmVyZW5jZVxcLyg/PHJlZmVyZW5jZUlkPlteOi8/XSspJC87XG5jb25zdCBSZWZlcmVuY2VTdG9yZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlZmVyZW5jZVN0b3JlXFwvKD88cmVmZXJlbmNlU3RvcmVJZD5bXjovP10rKSQvO1xuY29uc3QgUnVuQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cnVuXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IFJ1bkJhdGNoQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cnVuQmF0Y2hcXC8oPzxiYXRjaElkPlteOi8/XSspJC87XG5jb25zdCBSdW5DYWNoZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJ1bkNhY2hlXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IFJ1bkdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cnVuR3JvdXBcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgU2VxdWVuY2VTdG9yZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvbWljczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcXVlbmNlU3RvcmVcXC8oPzxzZXF1ZW5jZVN0b3JlSWQ+W146Lz9dKykkLztcbmNvbnN0IFdvcmtmbG93QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9taWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya2Zsb3dcXC8oPzxpZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIG9taWNzIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE9taWNzUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBBbm5vdGF0aW9uU3RvcmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYW5ub3RhdGlvblN0b3JlKHByb3BzOiBPbWljc0Fubm90YXRpb25TdG9yZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphbm5vdGF0aW9uU3RvcmUvJHtwcm9wcy5hbm5vdGF0aW9uU3RvcmVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBBbm5vdGF0aW9uU3RvcmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFubm90YXRpb25TdG9yZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBbm5vdGF0aW9uU3RvcmVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQW5ub3RhdGlvblN0b3JlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFubm90YXRpb25TdG9yZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogT21pY3NBbm5vdGF0aW9uU3RvcmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFubm90YXRpb25TdG9yZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBBbm5vdGF0aW9uU3RvcmUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YW5ub3RhdGlvblN0b3JlTmFtZTogbWF0Y2guZ3JvdXBzIS5hbm5vdGF0aW9uU3RvcmVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEFubm90YXRpb25TdG9yZVZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYW5ub3RhdGlvblN0b3JlVmVyc2lvbihcblx0XHRwcm9wczogT21pY3NBbm5vdGF0aW9uU3RvcmVWZXJzaW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b21pY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YW5ub3RhdGlvblN0b3JlLyR7cHJvcHMuYW5ub3RhdGlvblN0b3JlTmFtZX0vdmVyc2lvbi8ke3Byb3BzLmFubm90YXRpb25TdG9yZVZlcnNpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBBbm5vdGF0aW9uU3RvcmVWZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBbm5vdGF0aW9uU3RvcmVWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFubm90YXRpb25TdG9yZVZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQW5ub3RhdGlvblN0b3JlVmVyc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBbm5vdGF0aW9uU3RvcmVWZXJzaW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBPbWljc0Fubm90YXRpb25TdG9yZVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFubm90YXRpb25TdG9yZVZlcnNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQW5ub3RhdGlvblN0b3JlVmVyc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhbm5vdGF0aW9uU3RvcmVOYW1lOiBtYXRjaC5ncm91cHMhLmFubm90YXRpb25TdG9yZU5hbWUsXG5cdFx0XHRhbm5vdGF0aW9uU3RvcmVWZXJzaW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5hbm5vdGF0aW9uU3RvcmVWZXJzaW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBUYXNrUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdGFza1Jlc291cmNlKHByb3BzOiBPbWljc1Rhc2tSZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0YXNrLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFRhc2tSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVGFza1Jlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhc2tSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBUYXNrUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGFza1Jlc291cmNlQXJuKGFybjogc3RyaW5nKTogT21pY3NUYXNrUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRhc2tSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBUYXNrUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgVmFyaWFudFN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHZhcmlhbnRTdG9yZShwcm9wczogT21pY3NWYXJpYW50U3RvcmVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b21pY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dmFyaWFudFN0b3JlLyR7cHJvcHMudmFyaWFudFN0b3JlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgVmFyaWFudFN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRWYXJpYW50U3RvcmVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVmFyaWFudFN0b3JlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFZhcmlhbnRTdG9yZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VWYXJpYW50U3RvcmVBcm4oYXJuOiBzdHJpbmcpOiBPbWljc1ZhcmlhbnRTdG9yZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVmFyaWFudFN0b3JlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFZhcmlhbnRTdG9yZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR2YXJpYW50U3RvcmVOYW1lOiBtYXRjaC5ncm91cHMhLnZhcmlhbnRTdG9yZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgV29ya2Zsb3dWZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmtmbG93VmVyc2lvbihwcm9wczogT21pY3NXb3JrZmxvd1ZlcnNpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b21pY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya2Zsb3cvJHtwcm9wcy5pZH0vdmVyc2lvbi8ke3Byb3BzLnZlcnNpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBXb3JrZmxvd1ZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtmbG93VmVyc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3JrZmxvd1ZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgV29ya2Zsb3dWZXJzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtmbG93VmVyc2lvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogT21pY3NXb3JrZmxvd1ZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdvcmtmbG93VmVyc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBXb3JrZmxvd1ZlcnNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0XHR2ZXJzaW9uTmFtZTogbWF0Y2guZ3JvdXBzIS52ZXJzaW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb25maWd1cmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbmZpZ3VyYXRpb24ocHJvcHM6IE9taWNzQ29uZmlndXJhdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25maWd1cmF0aW9uLyR7cHJvcHMubmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29uZmlndXJhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbmZpZ3VyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29uZmlndXJhdGlvbkFybihhcm46IHN0cmluZyk6IE9taWNzQ29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29uZmlndXJhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25maWd1cmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG5hbWU6IG1hdGNoLmdyb3VwcyEubmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZWFkU2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlYWRTZXQocHJvcHM6IE9taWNzUmVhZFNldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXF1ZW5jZVN0b3JlLyR7cHJvcHMuc2VxdWVuY2VTdG9yZUlkfS9yZWFkU2V0LyR7cHJvcHMucmVhZFNldElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZWFkU2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWFkU2V0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlYWRTZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVhZFNldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWFkU2V0QXJuKGFybjogc3RyaW5nKTogT21pY3NSZWFkU2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWFkU2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlYWRTZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VxdWVuY2VTdG9yZUlkOiBtYXRjaC5ncm91cHMhLnNlcXVlbmNlU3RvcmVJZCxcblx0XHRcdHJlYWRTZXRJZDogbWF0Y2guZ3JvdXBzIS5yZWFkU2V0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVmZXJlbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlZmVyZW5jZShwcm9wczogT21pY3NSZWZlcmVuY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b21pY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVmZXJlbmNlU3RvcmUvJHtwcm9wcy5yZWZlcmVuY2VTdG9yZUlkfS9yZWZlcmVuY2UvJHtwcm9wcy5yZWZlcmVuY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVmZXJlbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWZlcmVuY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVmZXJlbmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlZmVyZW5jZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWZlcmVuY2VBcm4oYXJuOiBzdHJpbmcpOiBPbWljc1JlZmVyZW5jZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVmZXJlbmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlZmVyZW5jZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWZlcmVuY2VTdG9yZUlkOiBtYXRjaC5ncm91cHMhLnJlZmVyZW5jZVN0b3JlSWQsXG5cdFx0XHRyZWZlcmVuY2VJZDogbWF0Y2guZ3JvdXBzIS5yZWZlcmVuY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZWZlcmVuY2VTdG9yZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWZlcmVuY2VTdG9yZShwcm9wczogT21pY3NSZWZlcmVuY2VTdG9yZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWZlcmVuY2VTdG9yZS8ke3Byb3BzLnJlZmVyZW5jZVN0b3JlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlZmVyZW5jZVN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWZlcmVuY2VTdG9yZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWZlcmVuY2VTdG9yZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWZlcmVuY2VTdG9yZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWZlcmVuY2VTdG9yZUFybihhcm46IHN0cmluZyk6IE9taWNzUmVmZXJlbmNlU3RvcmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlZmVyZW5jZVN0b3JlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlZmVyZW5jZVN0b3JlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlZmVyZW5jZVN0b3JlSWQ6IG1hdGNoLmdyb3VwcyEucmVmZXJlbmNlU3RvcmVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBydW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcnVuKHByb3BzOiBPbWljc1J1bkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpydW4vJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcnVuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSdW5Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUnVuQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJ1biBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSdW5Bcm4oYXJuOiBzdHJpbmcpOiBPbWljc1J1bkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUnVuQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJ1biBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBydW5CYXRjaCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBydW5CYXRjaChwcm9wczogT21pY3NSdW5CYXRjaEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpydW5CYXRjaC8ke3Byb3BzLmJhdGNoSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJ1bkJhdGNoIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSdW5CYXRjaEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSdW5CYXRjaEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBydW5CYXRjaCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSdW5CYXRjaEFybihhcm46IHN0cmluZyk6IE9taWNzUnVuQmF0Y2hBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJ1bkJhdGNoQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJ1bkJhdGNoIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGJhdGNoSWQ6IG1hdGNoLmdyb3VwcyEuYmF0Y2hJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBydW5DYWNoZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBydW5DYWNoZShwcm9wczogT21pY3NSdW5DYWNoZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpydW5DYWNoZS8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBydW5DYWNoZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUnVuQ2FjaGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUnVuQ2FjaGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcnVuQ2FjaGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUnVuQ2FjaGVBcm4oYXJuOiBzdHJpbmcpOiBPbWljc1J1bkNhY2hlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSdW5DYWNoZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBydW5DYWNoZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBydW5Hcm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBydW5Hcm91cChwcm9wczogT21pY3NSdW5Hcm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpydW5Hcm91cC8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBydW5Hcm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUnVuR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUnVuR3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcnVuR3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUnVuR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBPbWljc1J1bkdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSdW5Hcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBydW5Hcm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXF1ZW5jZVN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcXVlbmNlU3RvcmUocHJvcHM6IE9taWNzU2VxdWVuY2VTdG9yZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXF1ZW5jZVN0b3JlLyR7cHJvcHMuc2VxdWVuY2VTdG9yZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXF1ZW5jZVN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXF1ZW5jZVN0b3JlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcXVlbmNlU3RvcmVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VxdWVuY2VTdG9yZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXF1ZW5jZVN0b3JlQXJuKGFybjogc3RyaW5nKTogT21pY3NTZXF1ZW5jZVN0b3JlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXF1ZW5jZVN0b3JlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlcXVlbmNlU3RvcmUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VxdWVuY2VTdG9yZUlkOiBtYXRjaC5ncm91cHMhLnNlcXVlbmNlU3RvcmVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3JrZmxvdyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3JrZmxvdyhwcm9wczogT21pY3NXb3JrZmxvd0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvbWljczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3b3JrZmxvdy8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3b3JrZmxvdyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV29ya2Zsb3dBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV29ya2Zsb3dBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgd29ya2Zsb3cgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV29ya2Zsb3dBcm4oYXJuOiBzdHJpbmcpOiBPbWljc1dvcmtmbG93QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3JrZmxvd0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3b3JrZmxvdyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBvbWljcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE9taWNzT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFib3J0TXVsdGlwYXJ0UmVhZFNldFVwbG9hZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFib3J0TXVsdGlwYXJ0UmVhZFNldFVwbG9hZDogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpBYm9ydE11bHRpcGFydFJlYWRTZXRVcGxvYWRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWNjZXB0U2hhcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRTaGFyZTogc3RyaW5nW10gPSBbXCJvbWljczpBY2NlcHRTaGFyZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVSZWFkU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVSZWFkU2V0OiBzdHJpbmdbXSA9IFtcIm9taWNzOkJhdGNoRGVsZXRlUmVhZFNldFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsQW5ub3RhdGlvbkltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEFubm90YXRpb25JbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6Q2FuY2VsQW5ub3RhdGlvbkltcG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxSdW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxSdW46IHN0cmluZ1tdID0gW1wib21pY3M6Q2FuY2VsUnVuXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxSdW5CYXRjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFJ1bkJhdGNoOiBzdHJpbmdbXSA9IFtcIm9taWNzOkNhbmNlbFJ1bkJhdGNoXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxWYXJpYW50SW1wb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsVmFyaWFudEltcG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpDYW5jZWxWYXJpYW50SW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbXBsZXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZDogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpDb21wbGV0ZU11bHRpcGFydFJlYWRTZXRVcGxvYWRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQW5ub3RhdGlvblN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQW5ub3RhdGlvblN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkNyZWF0ZUFubm90YXRpb25TdG9yZVwiLFxuXHRcdFwib21pY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFubm90YXRpb25TdG9yZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6Q3JlYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvblwiLFxuXHRcdFwib21pY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6Q3JlYXRlQ29uZmlndXJhdGlvblwiLFxuXHRcdFwiZWMyOkRlc2NyaWJlU2VjdXJpdHlHcm91cHNcIixcblx0XHRcImVjMjpEZXNjcmliZVN1Ym5ldHNcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpQYXNzQ29ubmVjdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNdWx0aXBhcnRSZWFkU2V0VXBsb2FkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZDogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpDcmVhdGVNdWx0aXBhcnRSZWFkU2V0VXBsb2FkXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWZlcmVuY2VTdG9yZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZmVyZW5jZVN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkNyZWF0ZVJlZmVyZW5jZVN0b3JlXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSdW5DYWNoZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJ1bkNhY2hlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkNyZWF0ZVJ1bkNhY2hlXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSdW5Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJ1bkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkNyZWF0ZVJ1bkdyb3VwXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXF1ZW5jZVN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VxdWVuY2VTdG9yZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpDcmVhdGVTZXF1ZW5jZVN0b3JlXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTaGFyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNoYXJlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkNyZWF0ZVNoYXJlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVWYXJpYW50U3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWYXJpYW50U3RvcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6Q3JlYXRlVmFyaWFudFN0b3JlXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkNyZWF0ZVdvcmtmbG93XCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UGFzc0Nvbm5lY3Rpb25cIixcblx0XHRcIm9taWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtmbG93VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmbG93VmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpDcmVhdGVXb3JrZmxvd1ZlcnNpb25cIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpQYXNzQ29ubmVjdGlvblwiLFxuXHRcdFwib21pY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQW5ub3RhdGlvblN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQW5ub3RhdGlvblN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkRlbGV0ZUFubm90YXRpb25TdG9yZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBbm5vdGF0aW9uU3RvcmVWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFubm90YXRpb25TdG9yZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkRlbGV0ZUFubm90YXRpb25TdG9yZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUJhdGNoIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQmF0Y2g6IHN0cmluZ1tdID0gW1wib21pY3M6RGVsZXRlQmF0Y2hcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcIm9taWNzOkRlbGV0ZUNvbmZpZ3VyYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlZmVyZW5jZTogc3RyaW5nW10gPSBbXCJvbWljczpEZWxldGVSZWZlcmVuY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlZmVyZW5jZVN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVmZXJlbmNlU3RvcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6RGVsZXRlUmVmZXJlbmNlU3RvcmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUnVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUnVuOiBzdHJpbmdbXSA9IFtcIm9taWNzOkRlbGV0ZVJ1blwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUnVuQmF0Y2ggQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSdW5CYXRjaDogc3RyaW5nW10gPSBbXCJvbWljczpEZWxldGVSdW5CYXRjaFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUnVuQ2FjaGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSdW5DYWNoZTogc3RyaW5nW10gPSBbXCJvbWljczpEZWxldGVSdW5DYWNoZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUnVuR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSdW5Hcm91cDogc3RyaW5nW10gPSBbXCJvbWljczpEZWxldGVSdW5Hcm91cFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUzNBY2Nlc3NQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTM0FjY2Vzc1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpEZWxldGVTM0FjY2Vzc1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXF1ZW5jZVN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VxdWVuY2VTdG9yZTogc3RyaW5nW10gPSBbXCJvbWljczpEZWxldGVTZXF1ZW5jZVN0b3JlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTaGFyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNoYXJlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkRlbGV0ZVNoYXJlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVWYXJpYW50U3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVWYXJpYW50U3RvcmU6IHN0cmluZ1tdID0gW1wib21pY3M6RGVsZXRlVmFyaWFudFN0b3JlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmbG93OiBzdHJpbmdbXSA9IFtcIm9taWNzOkRlbGV0ZVdvcmtmbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrZmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3JrZmxvd1ZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6RGVsZXRlV29ya2Zsb3dWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFubm90YXRpb25JbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFubm90YXRpb25JbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6R2V0QW5ub3RhdGlvbkltcG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBbm5vdGF0aW9uU3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFubm90YXRpb25TdG9yZTogc3RyaW5nW10gPSBbXCJvbWljczpHZXRBbm5vdGF0aW9uU3RvcmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFubm90YXRpb25TdG9yZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFubm90YXRpb25TdG9yZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6R2V0QW5ub3RhdGlvblN0b3JlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCYXRjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QmF0Y2g6IHN0cmluZ1tdID0gW1wib21pY3M6R2V0QmF0Y2hcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1wib21pY3M6R2V0Q29uZmlndXJhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVhZFNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVhZFNldDogc3RyaW5nW10gPSBbXCJvbWljczpHZXRSZWFkU2V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWFkU2V0QWN0aXZhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVhZFNldEFjdGl2YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6R2V0UmVhZFNldEFjdGl2YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVhZFNldEV4cG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVhZFNldEV4cG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpHZXRSZWFkU2V0RXhwb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlYWRTZXRJbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlYWRTZXRJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6R2V0UmVhZFNldEltcG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWFkU2V0TWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlYWRTZXRNZXRhZGF0YTogc3RyaW5nW10gPSBbXCJvbWljczpHZXRSZWFkU2V0TWV0YWRhdGFcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVmZXJlbmNlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFJlZmVyZW5jZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVmZXJlbmNlSW1wb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWZlcmVuY2VJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6R2V0UmVmZXJlbmNlSW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlZmVyZW5jZU1ldGFkYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWZlcmVuY2VNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpHZXRSZWZlcmVuY2VNZXRhZGF0YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWZlcmVuY2VTdG9yZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVmZXJlbmNlU3RvcmU6IHN0cmluZ1tdID0gW1wib21pY3M6R2V0UmVmZXJlbmNlU3RvcmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJ1biBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UnVuOiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFJ1blwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UnVuQ2FjaGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJ1bkNhY2hlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFJ1bkNhY2hlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSdW5Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UnVuR3JvdXA6IHN0cmluZ1tdID0gW1wib21pY3M6R2V0UnVuR3JvdXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJ1blRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJ1blRhc2s6IHN0cmluZ1tdID0gW1wib21pY3M6R2V0UnVuVGFza1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UzNBY2Nlc3NQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFMzQWNjZXNzUG9saWN5OiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFMzQWNjZXNzUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXF1ZW5jZVN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXF1ZW5jZVN0b3JlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFNlcXVlbmNlU3RvcmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNoYXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTaGFyZTogc3RyaW5nW10gPSBbXCJvbWljczpHZXRTaGFyZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VmFyaWFudEltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VmFyaWFudEltcG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpHZXRWYXJpYW50SW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFZhcmlhbnRTdG9yZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VmFyaWFudFN0b3JlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFZhcmlhbnRTdG9yZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0V29ya2Zsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcIm9taWNzOkdldFdvcmtmbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRXb3JrZmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFdvcmtmbG93VmVyc2lvbjogc3RyaW5nW10gPSBbXCJvbWljczpHZXRXb3JrZmxvd1ZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBbm5vdGF0aW9uSW1wb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbm5vdGF0aW9uSW1wb3J0Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpMaXN0QW5ub3RhdGlvbkltcG9ydEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFubm90YXRpb25TdG9yZVZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFubm90YXRpb25TdG9yZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkxpc3RBbm5vdGF0aW9uU3RvcmVWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QW5ub3RhdGlvblN0b3JlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbm5vdGF0aW9uU3RvcmVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkxpc3RBbm5vdGF0aW9uU3RvcmVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCYXRjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCYXRjaDogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0QmF0Y2hcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25maWd1cmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmF0aW9uczogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0Q29uZmlndXJhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNdWx0aXBhcnRSZWFkU2V0VXBsb2FkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNdWx0aXBhcnRSZWFkU2V0VXBsb2Fkczogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpMaXN0TXVsdGlwYXJ0UmVhZFNldFVwbG9hZHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlYWRTZXRBY3RpdmF0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWFkU2V0QWN0aXZhdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6TGlzdFJlYWRTZXRBY3RpdmF0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVhZFNldEV4cG9ydEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVhZFNldEV4cG9ydEpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6TGlzdFJlYWRTZXRFeHBvcnRKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWFkU2V0SW1wb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWFkU2V0SW1wb3J0Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpMaXN0UmVhZFNldEltcG9ydEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlYWRTZXRVcGxvYWRQYXJ0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWFkU2V0VXBsb2FkUGFydHM6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6TGlzdFJlYWRTZXRVcGxvYWRQYXJ0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVhZFNldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVhZFNldHM6IHN0cmluZ1tdID0gW1wib21pY3M6TGlzdFJlYWRTZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVmZXJlbmNlSW1wb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWZlcmVuY2VJbXBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9taWNzOkxpc3RSZWZlcmVuY2VJbXBvcnRKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWZlcmVuY2VTdG9yZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVmZXJlbmNlU3RvcmVzOiBzdHJpbmdbXSA9IFtcIm9taWNzOkxpc3RSZWZlcmVuY2VTdG9yZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWZlcmVuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlZmVyZW5jZXM6IHN0cmluZ1tdID0gW1wib21pY3M6TGlzdFJlZmVyZW5jZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSdW5DYWNoZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UnVuQ2FjaGVzOiBzdHJpbmdbXSA9IFtcIm9taWNzOkxpc3RSdW5DYWNoZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSdW5Hcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UnVuR3JvdXBzOiBzdHJpbmdbXSA9IFtcIm9taWNzOkxpc3RSdW5Hcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSdW5UYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSdW5UYXNrczogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0UnVuVGFza3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSdW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJ1bnM6IHN0cmluZ1tdID0gW1wib21pY3M6TGlzdFJ1bnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSdW5zSW5CYXRjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSdW5zSW5CYXRjaDogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0UnVuc0luQmF0Y2hcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXF1ZW5jZVN0b3JlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXF1ZW5jZVN0b3Jlczogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0U2VxdWVuY2VTdG9yZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTaGFyZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmVzOiBzdHJpbmdbXSA9IFtcIm9taWNzOkxpc3RTaGFyZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcIm9taWNzOkxpc3RUYWdzRm9yUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RWYXJpYW50SW1wb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RWYXJpYW50SW1wb3J0Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpMaXN0VmFyaWFudEltcG9ydEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFZhcmlhbnRTdG9yZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VmFyaWFudFN0b3Jlczogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0VmFyaWFudFN0b3Jlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdvcmtmbG93VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2Zsb3dWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpMaXN0V29ya2Zsb3dWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0V29ya2Zsb3dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmtmbG93czogc3RyaW5nW10gPSBbXCJvbWljczpMaXN0V29ya2Zsb3dzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRTM0FjY2Vzc1BvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFMzQWNjZXNzUG9saWN5OiBzdHJpbmdbXSA9IFtcIm9taWNzOlB1dFMzQWNjZXNzUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEFubm90YXRpb25JbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFubm90YXRpb25JbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJvbWljczpTdGFydEFubm90YXRpb25JbXBvcnRKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZWFkU2V0QWN0aXZhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVhZFNldEFjdGl2YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6U3RhcnRSZWFkU2V0QWN0aXZhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlYWRTZXRFeHBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlYWRTZXRFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJvbWljczpTdGFydFJlYWRTZXRFeHBvcnRKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZWFkU2V0SW1wb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZWFkU2V0SW1wb3J0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwib21pY3M6U3RhcnRSZWFkU2V0SW1wb3J0Sm9iXCIsXG5cdFx0XCJvbWljczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlZmVyZW5jZUltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVmZXJlbmNlSW1wb3J0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwib21pY3M6U3RhcnRSZWZlcmVuY2VJbXBvcnRKb2JcIixcblx0XHRcIm9taWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UnVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSdW46IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJvbWljczpTdGFydFJ1blwiLFxuXHRcdFwib21pY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSdW5CYXRjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UnVuQmF0Y2g6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJvbWljczpTdGFydFJ1blwiLFxuXHRcdFwib21pY3M6U3RhcnRSdW5CYXRjaFwiLFxuXHRcdFwib21pY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRWYXJpYW50SW1wb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRWYXJpYW50SW1wb3J0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwib21pY3M6U3RhcnRWYXJpYW50SW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wib21pY3M6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcIm9taWNzOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFubm90YXRpb25TdG9yZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFubm90YXRpb25TdG9yZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvbWljczpVcGRhdGVBbm5vdGF0aW9uU3RvcmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFubm90YXRpb25TdG9yZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6VXBkYXRlQW5ub3RhdGlvblN0b3JlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSdW5DYWNoZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJ1bkNhY2hlOiBzdHJpbmdbXSA9IFtcIm9taWNzOlVwZGF0ZVJ1bkNhY2hlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSdW5Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJ1bkdyb3VwOiBzdHJpbmdbXSA9IFtcIm9taWNzOlVwZGF0ZVJ1bkdyb3VwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTZXF1ZW5jZVN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VxdWVuY2VTdG9yZTogc3RyaW5nW10gPSBbXCJvbWljczpVcGRhdGVTZXF1ZW5jZVN0b3JlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVWYXJpYW50U3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVWYXJpYW50U3RvcmU6IHN0cmluZ1tdID0gW1wib21pY3M6VXBkYXRlVmFyaWFudFN0b3JlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtmbG93OiBzdHJpbmdbXSA9IFtcIm9taWNzOlVwZGF0ZVdvcmtmbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVXb3JrZmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrZmxvd1ZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib21pY3M6VXBkYXRlV29ya2Zsb3dWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwbG9hZFJlYWRTZXRQYXJ0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBsb2FkUmVhZFNldFBhcnQ6IHN0cmluZ1tdID0gW1wib21pY3M6VXBsb2FkUmVhZFNldFBhcnRcIl07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBvbWljcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE9taWNzQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBbm5vdGF0aW9uU3RvcmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQW5ub3RhdGlvblN0b3JlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBbm5vdGF0aW9uU3RvcmVWZXJzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFubm90YXRpb25TdG9yZVZlcnNpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbmZpZ3VyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTXVsdGlwYXJ0UmVhZFNldFVwbG9hZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNdWx0aXBhcnRSZWFkU2V0VXBsb2FkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZWZlcmVuY2VTdG9yZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWZlcmVuY2VTdG9yZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUnVuQ2FjaGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUnVuQ2FjaGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJ1bkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJ1bkdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTZXF1ZW5jZVN0b3JlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcXVlbmNlU3RvcmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVZhcmlhbnRTdG9yZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWYXJpYW50U3RvcmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVdvcmtmbG93IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmbG93Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVXb3JrZmxvd1ZlcnNpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2Zsb3dWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFJlYWRTZXRJbXBvcnRKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZWFkU2V0SW1wb3J0Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFJlZmVyZW5jZUltcG9ydEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlZmVyZW5jZUltcG9ydEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRSdW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSdW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0UnVuQmF0Y2ggYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSdW5CYXRjaENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19