@cdk_utils/iam 1.33.0 → 1.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/.jsii +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.d.ts +8 -0
  7. package/lib/generated/services/account.js +17 -5
  8. package/lib/generated/services/acm-pca.js +4 -4
  9. package/lib/generated/services/acm.js +4 -4
  10. package/lib/generated/services/aco-automation.js +4 -4
  11. package/lib/generated/services/action-recommendations.js +1 -1
  12. package/lib/generated/services/activate.js +1 -1
  13. package/lib/generated/services/agent-registry.js +4 -4
  14. package/lib/generated/services/agentaccess-mcp.js +2 -2
  15. package/lib/generated/services/aidevops.js +4 -4
  16. package/lib/generated/services/aiops.js +4 -4
  17. package/lib/generated/services/airflow-serverless.js +4 -4
  18. package/lib/generated/services/airflow.js +4 -4
  19. package/lib/generated/services/amplify.js +4 -4
  20. package/lib/generated/services/amplifybackend.js +3 -3
  21. package/lib/generated/services/amplifyuibuilder.js +4 -4
  22. package/lib/generated/services/aoss.js +4 -4
  23. package/lib/generated/services/apigateway.js +4 -4
  24. package/lib/generated/services/app-integrations.js +4 -4
  25. package/lib/generated/services/appconfig.js +4 -4
  26. package/lib/generated/services/appfabric.js +4 -4
  27. package/lib/generated/services/appflow.js +4 -4
  28. package/lib/generated/services/application-autoscaling.js +4 -4
  29. package/lib/generated/services/application-signals-mcp.js +3 -3
  30. package/lib/generated/services/application-signals.js +4 -4
  31. package/lib/generated/services/application-transformation.js +1 -1
  32. package/lib/generated/services/applicationinsights.js +3 -3
  33. package/lib/generated/services/appmesh-preview.js +2 -2
  34. package/lib/generated/services/appmesh.js +4 -4
  35. package/lib/generated/services/apprunner.js +4 -4
  36. package/lib/generated/services/appstream.js +4 -4
  37. package/lib/generated/services/appstudio.js +2 -2
  38. package/lib/generated/services/appsync.js +4 -4
  39. package/lib/generated/services/apptest.js +3 -3
  40. package/lib/generated/services/aps.js +4 -4
  41. package/lib/generated/services/arc-region-switch.js +4 -4
  42. package/lib/generated/services/arc-zonal-shift.js +4 -4
  43. package/lib/generated/services/arsenal.js +1 -1
  44. package/lib/generated/services/artifact.js +4 -4
  45. package/lib/generated/services/athena.js +4 -4
  46. package/lib/generated/services/auditmanager.js +4 -4
  47. package/lib/generated/services/autoscaling-plans.js +2 -2
  48. package/lib/generated/services/autoscaling.js +4 -4
  49. package/lib/generated/services/aws-external-anthropic.js +3 -3
  50. package/lib/generated/services/aws-marketplace-management.js +1 -1
  51. package/lib/generated/services/aws-marketplace.js +6 -5
  52. package/lib/generated/services/aws-portal.js +1 -1
  53. package/lib/generated/services/awsconnector.js +1 -1
  54. package/lib/generated/services/b2bi.js +4 -4
  55. package/lib/generated/services/backup-gateway.js +4 -4
  56. package/lib/generated/services/backup-search.js +4 -4
  57. package/lib/generated/services/backup-storage.js +1 -1
  58. package/lib/generated/services/backup.js +4 -4
  59. package/lib/generated/services/batch.js +4 -4
  60. package/lib/generated/services/bcm-dashboards.js +4 -4
  61. package/lib/generated/services/bcm-data-exports.js +4 -4
  62. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  63. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  64. package/lib/generated/services/bedrock-agentcore.js +4 -4
  65. package/lib/generated/services/bedrock-mantle.js +3 -3
  66. package/lib/generated/services/bedrock-websearch.js +2 -2
  67. package/lib/generated/services/bedrock.js +4 -4
  68. package/lib/generated/services/billing.js +4 -4
  69. package/lib/generated/services/billingconductor.js +4 -4
  70. package/lib/generated/services/braket.js +4 -4
  71. package/lib/generated/services/budgets.js +4 -4
  72. package/lib/generated/services/bugbust.js +3 -3
  73. package/lib/generated/services/cases.js +4 -4
  74. package/lib/generated/services/cassandra.js +4 -4
  75. package/lib/generated/services/ce.js +4 -4
  76. package/lib/generated/services/chatbot.js +4 -4
  77. package/lib/generated/services/chime.js +4 -4
  78. package/lib/generated/services/cleanrooms-ml.js +4 -4
  79. package/lib/generated/services/cleanrooms.js +4 -4
  80. package/lib/generated/services/cloud9.js +4 -4
  81. package/lib/generated/services/clouddirectory.js +3 -3
  82. package/lib/generated/services/cloudformation.js +4 -4
  83. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  84. package/lib/generated/services/cloudfront.js +4 -4
  85. package/lib/generated/services/cloudhsm.js +4 -4
  86. package/lib/generated/services/cloudsearch.js +3 -3
  87. package/lib/generated/services/cloudshell.js +3 -3
  88. package/lib/generated/services/cloudtrail-data.js +4 -4
  89. package/lib/generated/services/cloudtrail.js +4 -4
  90. package/lib/generated/services/cloudwatch.js +4 -4
  91. package/lib/generated/services/codeartifact.js +4 -4
  92. package/lib/generated/services/codebuild.js +4 -4
  93. package/lib/generated/services/codecatalyst.js +4 -4
  94. package/lib/generated/services/codecommit.js +4 -4
  95. package/lib/generated/services/codeconnections.js +4 -4
  96. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  97. package/lib/generated/services/codedeploy.js +4 -4
  98. package/lib/generated/services/codeguru-profiler.js +4 -4
  99. package/lib/generated/services/codeguru-reviewer.js +4 -4
  100. package/lib/generated/services/codeguru-security.js +4 -4
  101. package/lib/generated/services/codeguru.js +1 -1
  102. package/lib/generated/services/codepipeline.js +4 -4
  103. package/lib/generated/services/codestar-connections.js +4 -4
  104. package/lib/generated/services/codestar-notifications.js +4 -4
  105. package/lib/generated/services/codestar.js +3 -3
  106. package/lib/generated/services/codewhisperer.js +3 -3
  107. package/lib/generated/services/cognito-identity.js +4 -4
  108. package/lib/generated/services/cognito-idp.js +4 -4
  109. package/lib/generated/services/cognito-sync.js +3 -3
  110. package/lib/generated/services/comprehend.js +4 -4
  111. package/lib/generated/services/comprehendmedical.js +3 -3
  112. package/lib/generated/services/compute-optimizer.js +3 -3
  113. package/lib/generated/services/config.js +4 -4
  114. package/lib/generated/services/connect-campaigns.js +4 -4
  115. package/lib/generated/services/connect.js +4 -4
  116. package/lib/generated/services/consoleapp.js +2 -2
  117. package/lib/generated/services/consolidatedbilling.js +1 -1
  118. package/lib/generated/services/controlcatalog.js +3 -3
  119. package/lib/generated/services/controltower.js +4 -4
  120. package/lib/generated/services/cost-optimization-hub.js +2 -2
  121. package/lib/generated/services/cur.js +4 -4
  122. package/lib/generated/services/customer-verification.js +1 -1
  123. package/lib/generated/services/databrew.js +4 -4
  124. package/lib/generated/services/dataexchange.js +4 -4
  125. package/lib/generated/services/datapipeline.js +4 -4
  126. package/lib/generated/services/datasync.js +4 -4
  127. package/lib/generated/services/datazone.d.ts +0 -28
  128. package/lib/generated/services/datazone.js +5 -47
  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 +7 -5
  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.d.ts +6 -0
  157. package/lib/generated/services/elasticache.js +13 -5
  158. package/lib/generated/services/elasticbeanstalk.js +4 -4
  159. package/lib/generated/services/elasticfilesystem.js +4 -4
  160. package/lib/generated/services/elasticloadbalancing.js +5 -6
  161. package/lib/generated/services/elasticmapreduce.js +4 -4
  162. package/lib/generated/services/elastictranscoder.js +2 -2
  163. package/lib/generated/services/elemental-activations.js +1 -1
  164. package/lib/generated/services/elemental-appliances-software.js +2 -2
  165. package/lib/generated/services/elemental-inference.js +4 -4
  166. package/lib/generated/services/elemental-support-cases.js +3 -3
  167. package/lib/generated/services/elemental-support-content.js +1 -1
  168. package/lib/generated/services/emr-containers.js +4 -4
  169. package/lib/generated/services/emr-serverless.js +4 -4
  170. package/lib/generated/services/entityresolution.js +4 -4
  171. package/lib/generated/services/es.js +4 -4
  172. package/lib/generated/services/events.js +4 -4
  173. package/lib/generated/services/eventsbilltoaws.js +3 -3
  174. package/lib/generated/services/evidently.js +3 -3
  175. package/lib/generated/services/evs.js +4 -4
  176. package/lib/generated/services/execute-api.js +4 -4
  177. package/lib/generated/services/finops-agent.js +1 -1
  178. package/lib/generated/services/finspace-api.js +3 -3
  179. package/lib/generated/services/finspace.js +4 -4
  180. package/lib/generated/services/firehose.js +4 -4
  181. package/lib/generated/services/fis.js +4 -4
  182. package/lib/generated/services/fms.js +4 -4
  183. package/lib/generated/services/forecast.js +4 -4
  184. package/lib/generated/services/frauddetector.js +4 -4
  185. package/lib/generated/services/freertos.js +3 -3
  186. package/lib/generated/services/freetier.js +2 -2
  187. package/lib/generated/services/fsx.js +4 -4
  188. package/lib/generated/services/gamelift.js +4 -4
  189. package/lib/generated/services/gameliftstreams.js +4 -4
  190. package/lib/generated/services/geo-maps.js +3 -3
  191. package/lib/generated/services/geo-places.js +3 -3
  192. package/lib/generated/services/geo-routes.js +3 -3
  193. package/lib/generated/services/geo.js +4 -4
  194. package/lib/generated/services/glacier.js +4 -4
  195. package/lib/generated/services/globalaccelerator.js +4 -4
  196. package/lib/generated/services/glue.js +4 -4
  197. package/lib/generated/services/grafana.js +4 -4
  198. package/lib/generated/services/greengrass.js +4 -4
  199. package/lib/generated/services/groundstation.js +4 -4
  200. package/lib/generated/services/groundtruthlabeling.js +1 -1
  201. package/lib/generated/services/guardduty.js +4 -4
  202. package/lib/generated/services/health-agent.js +4 -4
  203. package/lib/generated/services/health.js +4 -4
  204. package/lib/generated/services/healthlake.js +4 -4
  205. package/lib/generated/services/honeycode.js +2 -2
  206. package/lib/generated/services/iam.js +4 -4
  207. package/lib/generated/services/identity-sync.js +2 -2
  208. package/lib/generated/services/identitystore-auth.js +1 -1
  209. package/lib/generated/services/identitystore.d.ts +6 -0
  210. package/lib/generated/services/identitystore.js +17 -5
  211. package/lib/generated/services/imagebuilder.js +4 -4
  212. package/lib/generated/services/importexport.js +2 -2
  213. package/lib/generated/services/inspector-scan.js +2 -2
  214. package/lib/generated/services/inspector.js +2 -2
  215. package/lib/generated/services/inspector2-telemetry.js +1 -1
  216. package/lib/generated/services/inspector2.js +4 -4
  217. package/lib/generated/services/interconnect.js +4 -4
  218. package/lib/generated/services/internetmonitor.js +4 -4
  219. package/lib/generated/services/invoicing.js +4 -4
  220. package/lib/generated/services/iot-device-tester.js +1 -1
  221. package/lib/generated/services/iot.js +4 -4
  222. package/lib/generated/services/iotanalytics.js +3 -3
  223. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  224. package/lib/generated/services/iotevents.js +3 -3
  225. package/lib/generated/services/iotfleethub.js +3 -3
  226. package/lib/generated/services/iotfleetwise.js +4 -4
  227. package/lib/generated/services/iotjobsdata.js +4 -4
  228. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  229. package/lib/generated/services/iotsitewise.js +4 -4
  230. package/lib/generated/services/iottwinmaker.js +4 -4
  231. package/lib/generated/services/iotwireless.js +4 -4
  232. package/lib/generated/services/iq-permission.js +2 -2
  233. package/lib/generated/services/iq.js +2 -2
  234. package/lib/generated/services/ivs.js +4 -4
  235. package/lib/generated/services/ivschat.js +4 -4
  236. package/lib/generated/services/kafka-cluster.js +3 -3
  237. package/lib/generated/services/kafka.js +4 -4
  238. package/lib/generated/services/kafkaconnect.js +4 -4
  239. package/lib/generated/services/kendra-ranking.js +4 -4
  240. package/lib/generated/services/kendra.js +4 -4
  241. package/lib/generated/services/kinesis.js +4 -4
  242. package/lib/generated/services/kinesisanalytics.js +4 -4
  243. package/lib/generated/services/kinesisvideo.js +4 -4
  244. package/lib/generated/services/kms.js +4 -4
  245. package/lib/generated/services/lakeformation.js +3 -3
  246. package/lib/generated/services/lambda.js +4 -4
  247. package/lib/generated/services/launchwizard.js +4 -4
  248. package/lib/generated/services/lex.js +4 -4
  249. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  250. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  251. package/lib/generated/services/license-manager.js +4 -4
  252. package/lib/generated/services/lightsail.js +4 -4
  253. package/lib/generated/services/logs.js +4 -4
  254. package/lib/generated/services/lookoutequipment.js +4 -4
  255. package/lib/generated/services/lookoutmetrics.js +3 -3
  256. package/lib/generated/services/lookoutvision.js +3 -3
  257. package/lib/generated/services/m2.js +4 -4
  258. package/lib/generated/services/machinelearning.js +3 -3
  259. package/lib/generated/services/macie2.js +4 -4
  260. package/lib/generated/services/managedblockchain-query.js +2 -2
  261. package/lib/generated/services/managedblockchain.js +4 -4
  262. package/lib/generated/services/mapcredits.js +2 -2
  263. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  264. package/lib/generated/services/mechanicalturk.js +2 -2
  265. package/lib/generated/services/mediaconnect.js +4 -4
  266. package/lib/generated/services/mediaconvert.js +4 -4
  267. package/lib/generated/services/mediaimport.js +1 -1
  268. package/lib/generated/services/medialive.js +4 -4
  269. package/lib/generated/services/mediapackage-vod.js +4 -4
  270. package/lib/generated/services/mediapackage.js +4 -4
  271. package/lib/generated/services/mediapackagev2.js +4 -4
  272. package/lib/generated/services/mediastore.js +4 -4
  273. package/lib/generated/services/mediatailor.js +4 -4
  274. package/lib/generated/services/medical-imaging.js +4 -4
  275. package/lib/generated/services/memorydb.js +4 -4
  276. package/lib/generated/services/mgh.js +4 -4
  277. package/lib/generated/services/mgn.js +4 -4
  278. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  279. package/lib/generated/services/migrationhub-strategy.js +2 -2
  280. package/lib/generated/services/mobileanalytics.js +1 -1
  281. package/lib/generated/services/mobiletargeting.js +4 -4
  282. package/lib/generated/services/monitron.js +3 -3
  283. package/lib/generated/services/mpa.js +4 -4
  284. package/lib/generated/services/mq.js +4 -4
  285. package/lib/generated/services/neptune-db.js +4 -4
  286. package/lib/generated/services/neptune-graph.js +4 -4
  287. package/lib/generated/services/network-firewall.js +4 -4
  288. package/lib/generated/services/network-security-director.js +1 -1
  289. package/lib/generated/services/network-security-manager.js +4 -4
  290. package/lib/generated/services/networkflowmonitor.js +4 -4
  291. package/lib/generated/services/networkmanager-chat.js +1 -1
  292. package/lib/generated/services/networkmanager.js +4 -4
  293. package/lib/generated/services/networkmonitor.js +4 -4
  294. package/lib/generated/services/nimble.js +3 -3
  295. package/lib/generated/services/notifications-contacts.js +4 -4
  296. package/lib/generated/services/notifications.js +4 -4
  297. package/lib/generated/services/nova-act.js +3 -3
  298. package/lib/generated/services/oam.js +4 -4
  299. package/lib/generated/services/observabilityadmin.js +4 -4
  300. package/lib/generated/services/odb.js +4 -4
  301. package/lib/generated/services/omics.js +4 -4
  302. package/lib/generated/services/one.js +3 -3
  303. package/lib/generated/services/opensearch.js +3 -3
  304. package/lib/generated/services/opsworks-cm.js +2 -2
  305. package/lib/generated/services/opsworks.js +2 -2
  306. package/lib/generated/services/organizations.js +4 -4
  307. package/lib/generated/services/osis.js +4 -4
  308. package/lib/generated/services/outposts.js +4 -4
  309. package/lib/generated/services/panorama.js +3 -3
  310. package/lib/generated/services/partnercentral-account-management.js +2 -2
  311. package/lib/generated/services/partnercentral.js +4 -4
  312. package/lib/generated/services/payment-cryptography.js +4 -4
  313. package/lib/generated/services/payments.js +3 -3
  314. package/lib/generated/services/pca-connector-ad.js +4 -4
  315. package/lib/generated/services/pca-connector-scep.js +4 -4
  316. package/lib/generated/services/pcs.js +4 -4
  317. package/lib/generated/services/personalize.js +4 -4
  318. package/lib/generated/services/pi.js +4 -4
  319. package/lib/generated/services/pipes.js +4 -4
  320. package/lib/generated/services/polly.js +3 -3
  321. package/lib/generated/services/pricing.js +2 -2
  322. package/lib/generated/services/pricingplanmanager.js +3 -3
  323. package/lib/generated/services/private-networks.js +3 -3
  324. package/lib/generated/services/profile.js +4 -4
  325. package/lib/generated/services/proton.js +4 -4
  326. package/lib/generated/services/purchase-orders.js +3 -3
  327. package/lib/generated/services/q.js +3 -3
  328. package/lib/generated/services/qapps.js +4 -4
  329. package/lib/generated/services/qbusiness.js +4 -4
  330. package/lib/generated/services/qdeveloper.js +3 -3
  331. package/lib/generated/services/qldb.js +3 -3
  332. package/lib/generated/services/quicksight.js +4 -4
  333. package/lib/generated/services/ram.js +4 -4
  334. package/lib/generated/services/rbin.js +4 -4
  335. package/lib/generated/services/rds-data.js +4 -4
  336. package/lib/generated/services/rds-db.js +2 -2
  337. package/lib/generated/services/rds.js +5 -6
  338. package/lib/generated/services/redshift-data.js +4 -4
  339. package/lib/generated/services/redshift-serverless.js +4 -4
  340. package/lib/generated/services/redshift.js +4 -4
  341. package/lib/generated/services/refactor-spaces.js +4 -4
  342. package/lib/generated/services/rekognition.js +4 -4
  343. package/lib/generated/services/repostspace.js +4 -4
  344. package/lib/generated/services/researchstudio.js +1 -1
  345. package/lib/generated/services/resiliencehub.js +4 -4
  346. package/lib/generated/services/resource-explorer-2.js +4 -4
  347. package/lib/generated/services/resource-explorer.js +1 -1
  348. package/lib/generated/services/resource-groups.js +4 -4
  349. package/lib/generated/services/rhelkb.js +1 -1
  350. package/lib/generated/services/robomaker.js +3 -3
  351. package/lib/generated/services/rolesanywhere.js +4 -4
  352. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  353. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  354. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  355. package/lib/generated/services/route53.js +4 -4
  356. package/lib/generated/services/route53domains.js +2 -2
  357. package/lib/generated/services/route53globalresolver.js +4 -4
  358. package/lib/generated/services/route53profiles.js +4 -4
  359. package/lib/generated/services/route53resolver.js +4 -4
  360. package/lib/generated/services/rtbfabric.js +4 -4
  361. package/lib/generated/services/rum.js +4 -4
  362. package/lib/generated/services/s3-object-lambda.js +3 -3
  363. package/lib/generated/services/s3-outposts.js +4 -4
  364. package/lib/generated/services/s3.js +4 -4
  365. package/lib/generated/services/s3express.js +3 -3
  366. package/lib/generated/services/s3files.js +4 -4
  367. package/lib/generated/services/s3tables.js +4 -4
  368. package/lib/generated/services/s3vectors.d.ts +12 -0
  369. package/lib/generated/services/s3vectors.js +25 -5
  370. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  371. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  372. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  373. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  374. package/lib/generated/services/sagemaker.js +6 -5
  375. package/lib/generated/services/savingsplans.js +4 -4
  376. package/lib/generated/services/scheduler.js +4 -4
  377. package/lib/generated/services/schemas.js +4 -4
  378. package/lib/generated/services/scn.js +4 -4
  379. package/lib/generated/services/sdb.js +3 -3
  380. package/lib/generated/services/secretsmanager.js +4 -4
  381. package/lib/generated/services/security-ir.js +4 -4
  382. package/lib/generated/services/securityagent.d.ts +2 -0
  383. package/lib/generated/services/securityagent.js +9 -5
  384. package/lib/generated/services/securityhub.d.ts +4 -0
  385. package/lib/generated/services/securityhub.js +11 -5
  386. package/lib/generated/services/securitylake.js +4 -4
  387. package/lib/generated/services/serverlessrepo.js +4 -4
  388. package/lib/generated/services/servicecatalog.js +5 -11
  389. package/lib/generated/services/servicediscovery.js +4 -4
  390. package/lib/generated/services/serviceextract.js +1 -1
  391. package/lib/generated/services/servicequotas.js +4 -4
  392. package/lib/generated/services/ses.js +4 -4
  393. package/lib/generated/services/shield.js +4 -4
  394. package/lib/generated/services/signer.js +4 -4
  395. package/lib/generated/services/signin.js +4 -4
  396. package/lib/generated/services/simspaceweaver.js +3 -3
  397. package/lib/generated/services/sms-voice.js +4 -4
  398. package/lib/generated/services/sms.js +1 -1
  399. package/lib/generated/services/snow-device-management.js +4 -4
  400. package/lib/generated/services/snowball.js +2 -2
  401. package/lib/generated/services/sns.js +4 -4
  402. package/lib/generated/services/social-messaging.js +4 -4
  403. package/lib/generated/services/sqlworkbench.js +3 -3
  404. package/lib/generated/services/sqs.js +4 -4
  405. package/lib/generated/services/ssm-contacts.js +4 -4
  406. package/lib/generated/services/ssm-guiconnect.js +2 -2
  407. package/lib/generated/services/ssm-incidents.js +4 -4
  408. package/lib/generated/services/ssm-quicksetup.js +4 -4
  409. package/lib/generated/services/ssm-sap.js +4 -4
  410. package/lib/generated/services/ssm.js +4 -4
  411. package/lib/generated/services/ssmmessages.js +2 -2
  412. package/lib/generated/services/sso-directory.js +1 -1
  413. package/lib/generated/services/sso-oauth.js +3 -3
  414. package/lib/generated/services/sso.js +4 -4
  415. package/lib/generated/services/startups.js +1 -1
  416. package/lib/generated/services/states.js +4 -4
  417. package/lib/generated/services/storagegateway.js +4 -4
  418. package/lib/generated/services/sts.js +4 -4
  419. package/lib/generated/services/support-console.js +1 -1
  420. package/lib/generated/services/support.js +2 -2
  421. package/lib/generated/services/supportapp.js +2 -2
  422. package/lib/generated/services/supportauthz.js +4 -4
  423. package/lib/generated/services/supportplans.js +1 -1
  424. package/lib/generated/services/sustainability.js +2 -2
  425. package/lib/generated/services/swf.js +4 -4
  426. package/lib/generated/services/synthetics.js +4 -4
  427. package/lib/generated/services/tag.js +2 -2
  428. package/lib/generated/services/tax.js +2 -2
  429. package/lib/generated/services/textract.js +4 -4
  430. package/lib/generated/services/thinclient.js +4 -4
  431. package/lib/generated/services/timestream-influxdb.js +4 -4
  432. package/lib/generated/services/timestream.js +4 -4
  433. package/lib/generated/services/tiros.js +1 -1
  434. package/lib/generated/services/tnb.js +4 -4
  435. package/lib/generated/services/transcribe.js +4 -4
  436. package/lib/generated/services/transfer.js +4 -4
  437. package/lib/generated/services/transform-custom.js +3 -3
  438. package/lib/generated/services/transform.js +3 -3
  439. package/lib/generated/services/translate.js +4 -4
  440. package/lib/generated/services/trustedadvisor.js +3 -3
  441. package/lib/generated/services/ts.js +3 -3
  442. package/lib/generated/services/user-subscriptions.js +2 -2
  443. package/lib/generated/services/uxc.js +2 -2
  444. package/lib/generated/services/vendor-insights.js +3 -3
  445. package/lib/generated/services/verified-access.js +1 -1
  446. package/lib/generated/services/verifiedpermissions.js +4 -4
  447. package/lib/generated/services/voiceid.js +4 -4
  448. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  449. package/lib/generated/services/vpc-lattice.js +4 -4
  450. package/lib/generated/services/vpce.js +2 -2
  451. package/lib/generated/services/waf-regional.js +4 -4
  452. package/lib/generated/services/waf.js +4 -4
  453. package/lib/generated/services/wafv2.js +4 -4
  454. package/lib/generated/services/wam.js +1 -1
  455. package/lib/generated/services/wellarchitected.js +4 -4
  456. package/lib/generated/services/wickr.js +4 -4
  457. package/lib/generated/services/wisdom.js +4 -4
  458. package/lib/generated/services/workdocs.js +3 -3
  459. package/lib/generated/services/worklink.js +3 -3
  460. package/lib/generated/services/workmail.js +4 -4
  461. package/lib/generated/services/workmailmessageflow.js +3 -3
  462. package/lib/generated/services/workspaces-instances.js +4 -4
  463. package/lib/generated/services/workspaces-web.js +4 -4
  464. package/lib/generated/services/workspaces.js +4 -4
  465. package/lib/generated/services/xray.js +4 -4
  466. package/package.json +1 -1
@@ -16,7 +16,7 @@ class SecurityHubActions {
16
16
  }
17
17
  exports.SecurityHubActions = SecurityHubActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- SecurityHubActions[_a] = { fqn: "@cdk_utils/iam.securityhub.SecurityHubActions", version: "1.33.0" };
19
+ SecurityHubActions[_a] = { fqn: "@cdk_utils/iam.securityhub.SecurityHubActions", version: "1.35.0" };
20
20
  /** The IAM service prefix. */
21
21
  SecurityHubActions.SERVICE_PREFIX = "securityhub";
22
22
  /** [Write] securityhub:AcceptAdministratorInvitation */
@@ -189,6 +189,8 @@ SecurityHubActions.actionGetMasterAccount = "securityhub:GetMasterAccount";
189
189
  SecurityHubActions.actionGetMembers = "securityhub:GetMembers";
190
190
  /** [Read] securityhub:GetRecommendedPolicyV2 */
191
191
  SecurityHubActions.actionGetRecommendedPolicyV2 = "securityhub:GetRecommendedPolicyV2";
192
+ /** [Read] securityhub:GetRemediationsV2 */
193
+ SecurityHubActions.actionGetRemediationsV2 = "securityhub:GetRemediationsV2";
192
194
  /** [Read] securityhub:GetResourcesStatisticsV2 */
193
195
  SecurityHubActions.actionGetResourcesStatisticsV2 = "securityhub:GetResourcesStatisticsV2";
194
196
  /** [Read] securityhub:GetResourcesTrendsV2 */
@@ -223,6 +225,8 @@ SecurityHubActions.ListConnectorsV2 = "securityhub:ListConnectorsV2";
223
225
  SecurityHubActions.ListControlEvaluationSummaries = "securityhub:ListControlEvaluationSummaries";
224
226
  /** [List] securityhub:ListEnabledProductsForImport */
225
227
  SecurityHubActions.ListEnabledProductsForImport = "securityhub:ListEnabledProductsForImport";
228
+ /** [List] securityhub:ListExposuresByRemediationV2 */
229
+ SecurityHubActions.ListExposuresByRemediationV2 = "securityhub:ListExposuresByRemediationV2";
226
230
  /** [List] securityhub:ListFindingAggregators */
227
231
  SecurityHubActions.ListFindingAggregators = "securityhub:ListFindingAggregators";
228
232
  /** [List] securityhub:ListFreeTrialStatusesV2 */
@@ -315,6 +319,7 @@ SecurityHubActions.AllReadActions = [
315
319
  SecurityHubActions.actionGetMasterAccount,
316
320
  SecurityHubActions.actionGetMembers,
317
321
  SecurityHubActions.actionGetRecommendedPolicyV2,
322
+ SecurityHubActions.actionGetRemediationsV2,
318
323
  SecurityHubActions.actionGetResourcesStatisticsV2,
319
324
  SecurityHubActions.actionGetResourcesTrendsV2,
320
325
  SecurityHubActions.actionGetResourcesV2,
@@ -404,6 +409,7 @@ SecurityHubActions.AllListActions = [
404
409
  SecurityHubActions.ListConnectors,
405
410
  SecurityHubActions.ListConnectorsV2,
406
411
  SecurityHubActions.ListEnabledProductsForImport,
412
+ SecurityHubActions.ListExposuresByRemediationV2,
407
413
  SecurityHubActions.ListFindingAggregators,
408
414
  SecurityHubActions.ListFreeTrialStatusesV2,
409
415
  SecurityHubActions.ListInvitations,
@@ -718,7 +724,7 @@ class SecurityHubResources {
718
724
  }
719
725
  exports.SecurityHubResources = SecurityHubResources;
720
726
  _b = JSII_RTTI_SYMBOL_1;
721
- SecurityHubResources[_b] = { fqn: "@cdk_utils/iam.securityhub.SecurityHubResources", version: "1.33.0" };
727
+ SecurityHubResources[_b] = { fqn: "@cdk_utils/iam.securityhub.SecurityHubResources", version: "1.35.0" };
722
728
  /**
723
729
  * API operation to required IAM actions mapping for securityhub.
724
730
  */
@@ -726,7 +732,7 @@ class SecurityHubOperations {
726
732
  }
727
733
  exports.SecurityHubOperations = SecurityHubOperations;
728
734
  _c = JSII_RTTI_SYMBOL_1;
729
- SecurityHubOperations[_c] = { fqn: "@cdk_utils/iam.securityhub.SecurityHubOperations", version: "1.33.0" };
735
+ SecurityHubOperations[_c] = { fqn: "@cdk_utils/iam.securityhub.SecurityHubOperations", version: "1.35.0" };
730
736
  /** IAM actions required for the AcceptAdministratorInvitation API call. */
731
737
  SecurityHubOperations.AcceptAdministratorInvitation = [
732
738
  "securityhub:AcceptAdministratorInvitation",
@@ -1199,7 +1205,7 @@ class SecurityHubConditions {
1199
1205
  }
1200
1206
  exports.SecurityHubConditions = SecurityHubConditions;
1201
1207
  _d = JSII_RTTI_SYMBOL_1;
1202
- SecurityHubConditions[_d] = { fqn: "@cdk_utils/iam.securityhub.SecurityHubConditions", version: "1.33.0" };
1208
+ SecurityHubConditions[_d] = { fqn: "@cdk_utils/iam.securityhub.SecurityHubConditions", version: "1.35.0" };
1203
1209
  /** Condition keys applicable to the BatchImportFindings action. */
1204
1210
  SecurityHubConditions.BatchImportFindingsConditionKeys = [
1205
1211
  "securityhub:TargetAccount",
@@ -1256,4 +1262,4 @@ SecurityHubConditions.ASFF_SYNTAX_PATH = "securityhub:ASFFSyntaxPath/${ASFFSynta
1256
1262
  SecurityHubConditions.OCSF_SYNTAX_PATH = "securityhub:OCSFSyntaxPath/${OCSFSyntaxPath}";
1257
1263
  /** Condition key: securityhub:TargetAccount (String) */
1258
1264
  SecurityHubConditions.TARGET_ACCOUNT = "securityhub:TargetAccount";
1259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHlodWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL3NlY3VyaXR5aHViLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsa0RBQWtEO0FBQ2xELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLGtCQUFrQjs7QUFBL0IsZ0RBNGNDOzs7QUEzY0EsOEJBQThCO0FBQ2QsaUNBQWMsR0FBRyxhQUFhLENBQUM7QUFFL0Msd0RBQXdEO0FBQ3hDLGdEQUE2QixHQUM1QywyQ0FBMkMsQ0FBQztBQUM3QywyQ0FBMkM7QUFDM0IsbUNBQWdCLEdBQUcsOEJBQThCLENBQUM7QUFDbEUsMkVBQTJFO0FBQzNELG9EQUFpQyxHQUNoRCwrQ0FBK0MsQ0FBQztBQUNqRCxxREFBcUQ7QUFDckMsNkNBQTBCLEdBQ3pDLHdDQUF3QyxDQUFDO0FBQzFDLGdEQUFnRDtBQUNoQyx3Q0FBcUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM1RSwrQ0FBK0M7QUFDL0IsdUNBQW9CLEdBQUcsa0NBQWtDLENBQUM7QUFDMUUsaURBQWlEO0FBQ2pDLDBDQUF1QixHQUN0QyxxQ0FBcUMsQ0FBQztBQUN2QyxpRUFBaUU7QUFDakQsMERBQXVDLEdBQ3RELHFEQUFxRCxDQUFDO0FBQ3ZELG9EQUFvRDtBQUNwQyw2Q0FBMEIsR0FDekMsd0NBQXdDLENBQUM7QUFDMUMsa0RBQWtEO0FBQ2xDLDJDQUF3QixHQUN2QyxzQ0FBc0MsQ0FBQztBQUN4QyxrREFBa0Q7QUFDbEMsMkNBQXdCLEdBQ3ZDLHNDQUFzQyxDQUFDO0FBQ3hDLDhEQUE4RDtBQUM5Qyx1REFBb0MsR0FDbkQsa0RBQWtELENBQUM7QUFDcEQsOENBQThDO0FBQzlCLHNDQUFtQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3hFLHFEQUFxRDtBQUNyQyw2Q0FBMEIsR0FD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QUNGLG1FQUFtRTtBQUNuRCxzREFBZ0MsR0FBYTtJQUM1RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFFRix1REFBdUQ7QUFDdkMscUNBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsc0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLGtDQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzdDLDJFQUEyRTtBQUMzRCxzQ0FBZ0IsR0FDL0IsOENBQThDLENBQUM7QUFDaEQsMkVBQTJFO0FBQzNELHNDQUFnQixHQUMvQiw4Q0FBOEMsQ0FBQztBQUNoRCx3REFBd0Q7QUFDeEMsb0NBQWMsR0FBRywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL3NlY3VyaXR5aHViLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBzZWN1cml0eWh1YiBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgU2VjdXJpdHlIdWJBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwic2VjdXJpdHlodWJcIjtcblxuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpBY2NlcHRBZG1pbmlzdHJhdG9ySW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0QWRtaW5pc3RyYXRvckludml0YXRpb24gPVxuXHRcdFwic2VjdXJpdHlodWI6QWNjZXB0QWRtaW5pc3RyYXRvckludml0YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6QWNjZXB0SW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0SW52aXRhdGlvbiA9IFwic2VjdXJpdHlodWI6QWNjZXB0SW52aXRhdGlvblwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBzZWN1cml0eWh1YjpBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSA9XG5cdFx0XCJzZWN1cml0eWh1YjpBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6QmF0Y2hEZWxldGVBdXRvbWF0aW9uUnVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlQXV0b21hdGlvblJ1bGVzID1cblx0XHRcInNlY3VyaXR5aHViOkJhdGNoRGVsZXRlQXV0b21hdGlvblJ1bGVzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkJhdGNoRGlzYWJsZVN0YW5kYXJkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEaXNhYmxlU3RhbmRhcmRzID0gXCJzZWN1cml0eWh1YjpCYXRjaERpc2FibGVTdGFuZGFyZHNcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6QmF0Y2hFbmFibGVTdGFuZGFyZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRW5hYmxlU3RhbmRhcmRzID0gXCJzZWN1cml0eWh1YjpCYXRjaEVuYWJsZVN0YW5kYXJkc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkJhdGNoR2V0QXV0b21hdGlvblJ1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldEF1dG9tYXRpb25SdWxlcyA9XG5cdFx0XCJzZWN1cml0eWh1YjpCYXRjaEdldEF1dG9tYXRpb25SdWxlc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkJhdGNoR2V0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25zID1cblx0XHRcInNlY3VyaXR5aHViOkJhdGNoR2V0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkJhdGNoR2V0Q29udHJvbEV2YWx1YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldENvbnRyb2xFdmFsdWF0aW9ucyA9XG5cdFx0XCJzZWN1cml0eWh1YjpCYXRjaEdldENvbnRyb2xFdmFsdWF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkJhdGNoR2V0RW5hYmxlZFJlZ2lvbnNWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRFbmFibGVkUmVnaW9uc1YyID1cblx0XHRcInNlY3VyaXR5aHViOkJhdGNoR2V0RW5hYmxlZFJlZ2lvbnNWMlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkJhdGNoR2V0U2VjdXJpdHlDb250cm9scyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRTZWN1cml0eUNvbnRyb2xzID1cblx0XHRcInNlY3VyaXR5aHViOkJhdGNoR2V0U2VjdXJpdHlDb250cm9sc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkJhdGNoR2V0U3RhbmRhcmRzQ29udHJvbEFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zID1cblx0XHRcInNlY3VyaXR5aHViOkJhdGNoR2V0U3RhbmRhcmRzQ29udHJvbEFzc29jaWF0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpCYXRjaEltcG9ydEZpbmRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEltcG9ydEZpbmRpbmdzID0gXCJzZWN1cml0eWh1YjpCYXRjaEltcG9ydEZpbmRpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkJhdGNoVXBkYXRlQXV0b21hdGlvblJ1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFVwZGF0ZUF1dG9tYXRpb25SdWxlcyA9XG5cdFx0XCJzZWN1cml0eWh1YjpCYXRjaFVwZGF0ZUF1dG9tYXRpb25SdWxlc1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpCYXRjaFVwZGF0ZUZpbmRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFVwZGF0ZUZpbmRpbmdzID0gXCJzZWN1cml0eWh1YjpCYXRjaFVwZGF0ZUZpbmRpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkJhdGNoVXBkYXRlU3RhbmRhcmRzQ29udHJvbEFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hVcGRhdGVTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zID1cblx0XHRcInNlY3VyaXR5aHViOkJhdGNoVXBkYXRlU3RhbmRhcmRzQ29udHJvbEFzc29jaWF0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpDb25uZWN0b3JSZWdpc3RyYXRpb25zVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbm5lY3RvclJlZ2lzdHJhdGlvbnNWMiA9XG5cdFx0XCJzZWN1cml0eWh1YjpDb25uZWN0b3JSZWdpc3RyYXRpb25zVjJcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6Q3JlYXRlQWN0aW9uVGFyZ2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY3Rpb25UYXJnZXQgPSBcInNlY3VyaXR5aHViOkNyZWF0ZUFjdGlvblRhcmdldFwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpDcmVhdGVBZ2dyZWdhdG9yVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZ3JlZ2F0b3JWMiA9IFwic2VjdXJpdHlodWI6Q3JlYXRlQWdncmVnYXRvclYyXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkNyZWF0ZUF1dG9tYXRpb25SdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0aW9uUnVsZSA9IFwic2VjdXJpdHlodWI6Q3JlYXRlQXV0b21hdGlvblJ1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6Q3JlYXRlQXV0b21hdGlvblJ1bGVWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGlvblJ1bGVWMiA9IFwic2VjdXJpdHlodWI6Q3JlYXRlQXV0b21hdGlvblJ1bGVWMlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpDcmVhdGVDb25maWd1cmF0aW9uUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uUG9saWN5ID1cblx0XHRcInNlY3VyaXR5aHViOkNyZWF0ZUNvbmZpZ3VyYXRpb25Qb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6Q3JlYXRlQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0b3IgPSBcInNlY3VyaXR5aHViOkNyZWF0ZUNvbm5lY3RvclwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpDcmVhdGVDb25uZWN0b3JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdG9yVjIgPSBcInNlY3VyaXR5aHViOkNyZWF0ZUNvbm5lY3RvclYyXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkNyZWF0ZUZpbmRpbmdBZ2dyZWdhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGaW5kaW5nQWdncmVnYXRvciA9XG5cdFx0XCJzZWN1cml0eWh1YjpDcmVhdGVGaW5kaW5nQWdncmVnYXRvclwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpDcmVhdGVJbnNpZ2h0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnNpZ2h0ID0gXCJzZWN1cml0eWh1YjpDcmVhdGVJbnNpZ2h0XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkNyZWF0ZU1lbWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1lbWJlcnMgPSBcInNlY3VyaXR5aHViOkNyZWF0ZU1lbWJlcnNcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6Q3JlYXRlVGlja2V0VjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRpY2tldFYyID0gXCJzZWN1cml0eWh1YjpDcmVhdGVUaWNrZXRWMlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEZWNsaW5lSW52aXRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY2xpbmVJbnZpdGF0aW9ucyA9IFwic2VjdXJpdHlodWI6RGVjbGluZUludml0YXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRlbGV0ZUFjdGlvblRhcmdldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWN0aW9uVGFyZ2V0ID0gXCJzZWN1cml0eWh1YjpEZWxldGVBY3Rpb25UYXJnZXRcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RGVsZXRlQWdncmVnYXRvclYyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2dyZWdhdG9yVjIgPSBcInNlY3VyaXR5aHViOkRlbGV0ZUFnZ3JlZ2F0b3JWMlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEZWxldGVBdXRvbWF0aW9uUnVsZVYyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbWF0aW9uUnVsZVYyID0gXCJzZWN1cml0eWh1YjpEZWxldGVBdXRvbWF0aW9uUnVsZVYyXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRlbGV0ZUNvbmZpZ3VyYXRpb25Qb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyYXRpb25Qb2xpY3kgPVxuXHRcdFwic2VjdXJpdHlodWI6RGVsZXRlQ29uZmlndXJhdGlvblBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEZWxldGVDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3RvciA9IFwic2VjdXJpdHlodWI6RGVsZXRlQ29ubmVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRlbGV0ZUNvbm5lY3RvclYyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25uZWN0b3JWMiA9IFwic2VjdXJpdHlodWI6RGVsZXRlQ29ubmVjdG9yVjJcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RGVsZXRlRmluZGluZ0FnZ3JlZ2F0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZpbmRpbmdBZ2dyZWdhdG9yID1cblx0XHRcInNlY3VyaXR5aHViOkRlbGV0ZUZpbmRpbmdBZ2dyZWdhdG9yXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRlbGV0ZUluc2lnaHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluc2lnaHQgPSBcInNlY3VyaXR5aHViOkRlbGV0ZUluc2lnaHRcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RGVsZXRlSW52aXRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUludml0YXRpb25zID0gXCJzZWN1cml0eWh1YjpEZWxldGVJbnZpdGF0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEZWxldGVNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZW1iZXJzID0gXCJzZWN1cml0eWh1YjpEZWxldGVNZW1iZXJzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6RGVzY3JpYmVBY3Rpb25UYXJnZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjdGlvblRhcmdldHMgPSBcInNlY3VyaXR5aHViOkRlc2NyaWJlQWN0aW9uVGFyZ2V0c1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkRlc2NyaWJlSHViICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1YiA9IFwic2VjdXJpdHlodWI6RGVzY3JpYmVIdWJcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJzZWN1cml0eWh1YjpEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpEZXNjcmliZVByb2R1Y3RzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2R1Y3RzID0gXCJzZWN1cml0eWh1YjpEZXNjcmliZVByb2R1Y3RzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6RGVzY3JpYmVQcm9kdWN0c1YyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2R1Y3RzVjIgPSBcInNlY3VyaXR5aHViOkRlc2NyaWJlUHJvZHVjdHNWMlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkRlc2NyaWJlU2VjdXJpdHlIdWJWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZWN1cml0eUh1YlYyID0gXCJzZWN1cml0eWh1YjpEZXNjcmliZVNlY3VyaXR5SHViVjJcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpEZXNjcmliZVN0YW5kYXJkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdGFuZGFyZHMgPSBcInNlY3VyaXR5aHViOkRlc2NyaWJlU3RhbmRhcmRzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6RGVzY3JpYmVTdGFuZGFyZHNDb250cm9scyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdGFuZGFyZHNDb250cm9scyA9XG5cdFx0XCJzZWN1cml0eWh1YjpEZXNjcmliZVN0YW5kYXJkc0NvbnRyb2xzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRpc2FibGVJbXBvcnRGaW5kaW5nc0ZvclByb2R1Y3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVJbXBvcnRGaW5kaW5nc0ZvclByb2R1Y3QgPVxuXHRcdFwic2VjdXJpdHlodWI6RGlzYWJsZUltcG9ydEZpbmRpbmdzRm9yUHJvZHVjdFwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEaXNhYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50ID1cblx0XHRcInNlY3VyaXR5aHViOkRpc2FibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnRcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RGlzYWJsZVNlY3VyaXR5SHViICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlU2VjdXJpdHlIdWIgPSBcInNlY3VyaXR5aHViOkRpc2FibGVTZWN1cml0eUh1YlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEaXNhYmxlU2VjdXJpdHlIdWJGZWF0dXJlVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVTZWN1cml0eUh1YkZlYXR1cmVWMiA9XG5cdFx0XCJzZWN1cml0eWh1YjpEaXNhYmxlU2VjdXJpdHlIdWJGZWF0dXJlVjJcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RGlzYWJsZVNlY3VyaXR5SHViVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVTZWN1cml0eUh1YlYyID0gXCJzZWN1cml0eWh1YjpEaXNhYmxlU2VjdXJpdHlIdWJWMlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEaXNhc3NvY2lhdGVGcm9tQWRtaW5pc3RyYXRvckFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUZyb21BZG1pbmlzdHJhdG9yQWNjb3VudCA9XG5cdFx0XCJzZWN1cml0eWh1YjpEaXNhc3NvY2lhdGVGcm9tQWRtaW5pc3RyYXRvckFjY291bnRcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RGlzYXNzb2NpYXRlRnJvbU1hc3RlckFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUZyb21NYXN0ZXJBY2NvdW50ID1cblx0XHRcInNlY3VyaXR5aHViOkRpc2Fzc29jaWF0ZUZyb21NYXN0ZXJBY2NvdW50XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRpc2Fzc29jaWF0ZU1lbWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU1lbWJlcnMgPSBcInNlY3VyaXR5aHViOkRpc2Fzc29jaWF0ZU1lbWJlcnNcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RW5hYmxlSW1wb3J0RmluZGluZ3NGb3JQcm9kdWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVJbXBvcnRGaW5kaW5nc0ZvclByb2R1Y3QgPVxuXHRcdFwic2VjdXJpdHlodWI6RW5hYmxlSW1wb3J0RmluZGluZ3NGb3JQcm9kdWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkVuYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50ID1cblx0XHRcInNlY3VyaXR5aHViOkVuYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudFwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpFbmFibGVTZWN1cml0eUh1YiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlU2VjdXJpdHlIdWIgPSBcInNlY3VyaXR5aHViOkVuYWJsZVNlY3VyaXR5SHViXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkVuYWJsZVNlY3VyaXR5SHViRmVhdHVyZVYyICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVTZWN1cml0eUh1YkZlYXR1cmVWMiA9XG5cdFx0XCJzZWN1cml0eWh1YjpFbmFibGVTZWN1cml0eUh1YkZlYXR1cmVWMlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpFbmFibGVTZWN1cml0eUh1YlYyICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVTZWN1cml0eUh1YlYyID0gXCJzZWN1cml0eWh1YjpFbmFibGVTZWN1cml0eUh1YlYyXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkdlbmVyYXRlUmVjb21tZW5kZWRQb2xpY3lWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVSZWNvbW1lbmRlZFBvbGljeVYyID1cblx0XHRcInNlY3VyaXR5aHViOkdlbmVyYXRlUmVjb21tZW5kZWRQb2xpY3lWMlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldEFkaG9jSW5zaWdodFJlc3VsdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFkaG9jSW5zaWdodFJlc3VsdHMgPVxuXHRcdFwic2VjdXJpdHlodWI6R2V0QWRob2NJbnNpZ2h0UmVzdWx0c1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldEFkbWluaXN0cmF0b3JBY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZG1pbmlzdHJhdG9yQWNjb3VudCA9XG5cdFx0XCJzZWN1cml0eWh1YjpHZXRBZG1pbmlzdHJhdG9yQWNjb3VudFwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldEFnZ3JlZ2F0b3JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdncmVnYXRvclYyID0gXCJzZWN1cml0eWh1YjpHZXRBZ2dyZWdhdG9yVjJcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRBdXRvbWF0aW9uUnVsZVYyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0aW9uUnVsZVYyID0gXCJzZWN1cml0eWh1YjpHZXRBdXRvbWF0aW9uUnVsZVYyXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0Q29uZmlndXJhdGlvblBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29uZmlndXJhdGlvblBvbGljeSA9XG5cdFx0XCJzZWN1cml0eWh1YjpHZXRDb25maWd1cmF0aW9uUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb24gPVxuXHRcdFwic2VjdXJpdHlodWI6R2V0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0Q29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0b3IgPSBcInNlY3VyaXR5aHViOkdldENvbm5lY3RvclwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldENvbm5lY3RvclYyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0b3JWMiA9IFwic2VjdXJpdHlodWI6R2V0Q29ubmVjdG9yVjJcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRDb250cm9sRmluZGluZ1N1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbnRyb2xGaW5kaW5nU3VtbWFyeSA9XG5cdFx0XCJzZWN1cml0eWh1YjpHZXRDb250cm9sRmluZGluZ1N1bW1hcnlcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRDb3ZlcmFnZVN0YXRpc3RpY3NWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q292ZXJhZ2VTdGF0aXN0aWNzVjIgPVxuXHRcdFwic2VjdXJpdHlodWI6R2V0Q292ZXJhZ2VTdGF0aXN0aWNzVjJcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWh1YjpHZXRFbmFibGVkU3RhbmRhcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFbmFibGVkU3RhbmRhcmRzID0gXCJzZWN1cml0eWh1YjpHZXRFbmFibGVkU3RhbmRhcmRzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0RmluZGluZ0FnZ3JlZ2F0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZpbmRpbmdBZ2dyZWdhdG9yID1cblx0XHRcInNlY3VyaXR5aHViOkdldEZpbmRpbmdBZ2dyZWdhdG9yXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0RmluZGluZ0hpc3RvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZpbmRpbmdIaXN0b3J5ID0gXCJzZWN1cml0eWh1YjpHZXRGaW5kaW5nSGlzdG9yeVwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldEZpbmRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGaW5kaW5ncyA9IFwic2VjdXJpdHlodWI6R2V0RmluZGluZ3NcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRGaW5kaW5nc1RyZW5kc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGaW5kaW5nc1RyZW5kc1YyID0gXCJzZWN1cml0eWh1YjpHZXRGaW5kaW5nc1RyZW5kc1YyXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0RnJlZVRyaWFsRW5kRGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RnJlZVRyaWFsRW5kRGF0ZSA9IFwic2VjdXJpdHlodWI6R2V0RnJlZVRyaWFsRW5kRGF0ZVwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldEZyZWVUcmlhbFVzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGcmVlVHJpYWxVc2FnZSA9IFwic2VjdXJpdHlodWI6R2V0RnJlZVRyaWFsVXNhZ2VcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRJbnNpZ2h0RmluZGluZ1RyZW5kICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnNpZ2h0RmluZGluZ1RyZW5kID1cblx0XHRcInNlY3VyaXR5aHViOkdldEluc2lnaHRGaW5kaW5nVHJlbmRcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRJbnNpZ2h0UmVzdWx0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5zaWdodFJlc3VsdHMgPSBcInNlY3VyaXR5aHViOkdldEluc2lnaHRSZXN1bHRzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6R2V0SW5zaWdodHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluc2lnaHRzID0gXCJzZWN1cml0eWh1YjpHZXRJbnNpZ2h0c1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldEludml0YXRpb25zQ291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEludml0YXRpb25zQ291bnQgPSBcInNlY3VyaXR5aHViOkdldEludml0YXRpb25zQ291bnRcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRNYXN0ZXJBY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXN0ZXJBY2NvdW50ID0gXCJzZWN1cml0eWh1YjpHZXRNYXN0ZXJBY2NvdW50XCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0TWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWVtYmVycyA9IFwic2VjdXJpdHlodWI6R2V0TWVtYmVyc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldFJlY29tbWVuZGVkUG9saWN5VjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY29tbWVuZGVkUG9saWN5VjIgPVxuXHRcdFwic2VjdXJpdHlodWI6R2V0UmVjb21tZW5kZWRQb2xpY3lWMlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldFJlc291cmNlc1N0YXRpc3RpY3NWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VzU3RhdGlzdGljc1YyID1cblx0XHRcInNlY3VyaXR5aHViOkdldFJlc291cmNlc1N0YXRpc3RpY3NWMlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldFJlc291cmNlc1RyZW5kc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZXNUcmVuZHNWMiA9XG5cdFx0XCJzZWN1cml0eWh1YjpHZXRSZXNvdXJjZXNUcmVuZHNWMlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldFJlc291cmNlc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZXNWMiA9IFwic2VjdXJpdHlodWI6R2V0UmVzb3VyY2VzVjJcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRTZWN1cml0eUNvbnRyb2xEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZWN1cml0eUNvbnRyb2xEZWZpbml0aW9uID1cblx0XHRcInNlY3VyaXR5aHViOkdldFNlY3VyaXR5Q29udHJvbERlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRVc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VXNhZ2UgPSBcInNlY3VyaXR5aHViOkdldFVzYWdlXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0VXNhZ2VWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VXNhZ2VWMiA9IFwic2VjdXJpdHlodWI6R2V0VXNhZ2VWMlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpJbnZpdGVNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZpdGVNZW1iZXJzID0gXCJzZWN1cml0eWh1YjpJbnZpdGVNZW1iZXJzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdEFjY291bnRVc2FnZVYyICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWNjb3VudFVzYWdlVjIgPSBcInNlY3VyaXR5aHViOkxpc3RBY2NvdW50VXNhZ2VWMlwiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkxpc3RBZ2dyZWdhdG9yc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdncmVnYXRvcnNWMiA9IFwic2VjdXJpdHlodWI6TGlzdEFnZ3JlZ2F0b3JzVjJcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWh1YjpMaXN0QXV0b21hdGlvblJ1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGlvblJ1bGVzID0gXCJzZWN1cml0eWh1YjpMaXN0QXV0b21hdGlvblJ1bGVzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdEF1dG9tYXRpb25SdWxlc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGlvblJ1bGVzVjIgPSBcInNlY3VyaXR5aHViOkxpc3RBdXRvbWF0aW9uUnVsZXNWMlwiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkxpc3RDb25maWd1cmF0aW9uUG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmF0aW9uUG9saWNpZXMgPVxuXHRcdFwic2VjdXJpdHlodWI6TGlzdENvbmZpZ3VyYXRpb25Qb2xpY2llc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkxpc3RDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9ucyA9XG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkxpc3RDb25uZWN0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdG9ycyA9IFwic2VjdXJpdHlodWI6TGlzdENvbm5lY3RvcnNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWh1YjpMaXN0Q29ubmVjdG9yc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdG9yc1YyID0gXCJzZWN1cml0eWh1YjpMaXN0Q29ubmVjdG9yc1YyXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6TGlzdENvbnRyb2xFdmFsdWF0aW9uU3VtbWFyaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29udHJvbEV2YWx1YXRpb25TdW1tYXJpZXMgPVxuXHRcdFwic2VjdXJpdHlodWI6TGlzdENvbnRyb2xFdmFsdWF0aW9uU3VtbWFyaWVzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdEVuYWJsZWRQcm9kdWN0c0ZvckltcG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuYWJsZWRQcm9kdWN0c0ZvckltcG9ydCA9XG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0RW5hYmxlZFByb2R1Y3RzRm9ySW1wb3J0XCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdEZpbmRpbmdBZ2dyZWdhdG9ycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZpbmRpbmdBZ2dyZWdhdG9ycyA9IFwic2VjdXJpdHlodWI6TGlzdEZpbmRpbmdBZ2dyZWdhdG9yc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkxpc3RGcmVlVHJpYWxTdGF0dXNlc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RnJlZVRyaWFsU3RhdHVzZXNWMiA9XG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0RnJlZVRyaWFsU3RhdHVzZXNWMlwiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkxpc3RJbnZpdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludml0YXRpb25zID0gXCJzZWN1cml0eWh1YjpMaXN0SW52aXRhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWh1YjpMaXN0TWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnMgPSBcInNlY3VyaXR5aHViOkxpc3RNZW1iZXJzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdE9yZ2FuaXphdGlvbkFkbWluQWNjb3VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzID1cblx0XHRcInNlY3VyaXR5aHViOkxpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdFNlY3VyaXR5Q29udHJvbERlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VjdXJpdHlDb250cm9sRGVmaW5pdGlvbnMgPVxuXHRcdFwic2VjdXJpdHlodWI6TGlzdFNlY3VyaXR5Q29udHJvbERlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdFN0YW5kYXJkc0NvbnRyb2xBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zID1cblx0XHRcInNlY3VyaXR5aHViOkxpc3RTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwic2VjdXJpdHlodWI6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOlNlbmRGaW5kaW5nRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kRmluZGluZ0V2ZW50cyA9IFwic2VjdXJpdHlodWI6U2VuZEZpbmRpbmdFdmVudHNcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpTZW5kSW5zaWdodEV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEluc2lnaHRFdmVudHMgPSBcInNlY3VyaXR5aHViOlNlbmRJbnNpZ2h0RXZlbnRzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOlN0YXJ0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvbiA9XG5cdFx0XCJzZWN1cml0eWh1YjpTdGFydENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpTdGFydENvbmZpZ3VyYXRpb25Qb2xpY3lEaXNhc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDb25maWd1cmF0aW9uUG9saWN5RGlzYXNzb2NpYXRpb24gPVxuXHRcdFwic2VjdXJpdHlodWI6U3RhcnRDb25maWd1cmF0aW9uUG9saWN5RGlzYXNzb2NpYXRpb25cIjtcblx0LyoqIFtUYWdnaW5nXSBzZWN1cml0eWh1YjpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcInNlY3VyaXR5aHViOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gc2VjdXJpdHlodWI6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwic2VjdXJpdHlodWI6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpVcGRhdGVBY3Rpb25UYXJnZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFjdGlvblRhcmdldCA9IFwic2VjdXJpdHlodWI6VXBkYXRlQWN0aW9uVGFyZ2V0XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOlVwZGF0ZUFnZ3JlZ2F0b3JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdncmVnYXRvclYyID0gXCJzZWN1cml0eWh1YjpVcGRhdGVBZ2dyZWdhdG9yVjJcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6VXBkYXRlQXV0b21hdGlvblJ1bGVWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXV0b21hdGlvblJ1bGVWMiA9IFwic2VjdXJpdHlodWI6VXBkYXRlQXV0b21hdGlvblJ1bGVWMlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpVcGRhdGVDb25maWd1cmF0aW9uUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmF0aW9uUG9saWN5ID1cblx0XHRcInNlY3VyaXR5aHViOlVwZGF0ZUNvbmZpZ3VyYXRpb25Qb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6VXBkYXRlQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0b3IgPSBcInNlY3VyaXR5aHViOlVwZGF0ZUNvbm5lY3RvclwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpVcGRhdGVDb25uZWN0b3JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29ubmVjdG9yVjIgPSBcInNlY3VyaXR5aHViOlVwZGF0ZUNvbm5lY3RvclYyXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOlVwZGF0ZUZpbmRpbmdBZ2dyZWdhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGaW5kaW5nQWdncmVnYXRvciA9XG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVGaW5kaW5nQWdncmVnYXRvclwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpVcGRhdGVGaW5kaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmluZGluZ3MgPSBcInNlY3VyaXR5aHViOlVwZGF0ZUZpbmRpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOlVwZGF0ZUluc2lnaHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluc2lnaHQgPSBcInNlY3VyaXR5aHViOlVwZGF0ZUluc2lnaHRcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6VXBkYXRlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOlVwZGF0ZVNlY3VyaXR5Q29udHJvbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VjdXJpdHlDb250cm9sID0gXCJzZWN1cml0eWh1YjpVcGRhdGVTZWN1cml0eUNvbnRyb2xcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6VXBkYXRlU2VjdXJpdHlIdWJDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZWN1cml0eUh1YkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwic2VjdXJpdHlodWI6VXBkYXRlU2VjdXJpdHlIdWJDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOlVwZGF0ZVN0YW5kYXJkc0NvbnRyb2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN0YW5kYXJkc0NvbnRyb2wgPSBcInNlY3VyaXR5aHViOlVwZGF0ZVN0YW5kYXJkc0NvbnRyb2xcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQmF0Y2hHZXRBdXRvbWF0aW9uUnVsZXMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkJhdGNoR2V0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9ucyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQmF0Y2hHZXRDb250cm9sRXZhbHVhdGlvbnMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkJhdGNoR2V0RW5hYmxlZFJlZ2lvbnNWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQmF0Y2hHZXRTZWN1cml0eUNvbnRyb2xzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5CYXRjaEdldFN0YW5kYXJkc0NvbnRyb2xBc3NvY2lhdGlvbnMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRlc2NyaWJlQWN0aW9uVGFyZ2V0cyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVzY3JpYmVIdWIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVzY3JpYmVQcm9kdWN0cyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVzY3JpYmVQcm9kdWN0c1YyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EZXNjcmliZVNlY3VyaXR5SHViVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRlc2NyaWJlU3RhbmRhcmRzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EZXNjcmliZVN0YW5kYXJkc0NvbnRyb2xzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRBZGhvY0luc2lnaHRSZXN1bHRzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRBZG1pbmlzdHJhdG9yQWNjb3VudCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0QWdncmVnYXRvclYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0aW9uUnVsZVYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRDb25maWd1cmF0aW9uUG9saWN5LFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb24sXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldENvbm5lY3Rvcixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0Q29ubmVjdG9yVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldENvbnRyb2xGaW5kaW5nU3VtbWFyeSxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0Q292ZXJhZ2VTdGF0aXN0aWNzVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldEZpbmRpbmdBZ2dyZWdhdG9yLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRGaW5kaW5nSGlzdG9yeSxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0RmluZGluZ3MsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldEZpbmRpbmdzVHJlbmRzVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldEZyZWVUcmlhbEVuZERhdGUsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldEZyZWVUcmlhbFVzYWdlLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRJbnNpZ2h0RmluZGluZ1RyZW5kLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRJbnNpZ2h0UmVzdWx0cyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0SW52aXRhdGlvbnNDb3VudCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0TWFzdGVyQWNjb3VudCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0TWVtYmVycyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0UmVjb21tZW5kZWRQb2xpY3lWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VzU3RhdGlzdGljc1YyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZXNUcmVuZHNWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VzVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldFNlY3VyaXR5Q29udHJvbERlZmluaXRpb24sXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldFVzYWdlLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRVc2FnZVYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5MaXN0Q29udHJvbEV2YWx1YXRpb25TdW1tYXJpZXMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLlNlbmRGaW5kaW5nRXZlbnRzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5TZW5kSW5zaWdodEV2ZW50cyxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQWNjZXB0QWRtaW5pc3RyYXRvckludml0YXRpb24sXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkFjY2VwdEludml0YXRpb24sXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkJhdGNoRGVsZXRlQXV0b21hdGlvblJ1bGVzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5CYXRjaERpc2FibGVTdGFuZGFyZHMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkJhdGNoRW5hYmxlU3RhbmRhcmRzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5CYXRjaEltcG9ydEZpbmRpbmdzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5CYXRjaFVwZGF0ZUF1dG9tYXRpb25SdWxlcyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQmF0Y2hVcGRhdGVGaW5kaW5ncyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQmF0Y2hVcGRhdGVTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5Db25uZWN0b3JSZWdpc3RyYXRpb25zVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkNyZWF0ZUFjdGlvblRhcmdldCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQ3JlYXRlQWdncmVnYXRvclYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5DcmVhdGVBdXRvbWF0aW9uUnVsZSxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQ3JlYXRlQXV0b21hdGlvblJ1bGVWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQ3JlYXRlQ29uZmlndXJhdGlvblBvbGljeSxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQ3JlYXRlQ29ubmVjdG9yLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5DcmVhdGVDb25uZWN0b3JWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQ3JlYXRlRmluZGluZ0FnZ3JlZ2F0b3IsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkNyZWF0ZUluc2lnaHQsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkNyZWF0ZU1lbWJlcnMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkNyZWF0ZVRpY2tldFYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EZWNsaW5lSW52aXRhdGlvbnMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRlbGV0ZUFjdGlvblRhcmdldCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVsZXRlQWdncmVnYXRvclYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EZWxldGVBdXRvbWF0aW9uUnVsZVYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EZWxldGVDb25maWd1cmF0aW9uUG9saWN5LFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EZWxldGVDb25uZWN0b3IsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRlbGV0ZUNvbm5lY3RvclYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EZWxldGVGaW5kaW5nQWdncmVnYXRvcixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVsZXRlSW5zaWdodCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVsZXRlSW52aXRhdGlvbnMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRlbGV0ZU1lbWJlcnMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRpc2FibGVJbXBvcnRGaW5kaW5nc0ZvclByb2R1Y3QsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRpc2FibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRpc2FibGVTZWN1cml0eUh1Yixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGlzYWJsZVNlY3VyaXR5SHViRmVhdHVyZVYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EaXNhYmxlU2VjdXJpdHlIdWJWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGlzYXNzb2NpYXRlRnJvbUFkbWluaXN0cmF0b3JBY2NvdW50LFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EaXNhc3NvY2lhdGVGcm9tTWFzdGVyQWNjb3VudCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGlzYXNzb2NpYXRlTWVtYmVycyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRW5hYmxlSW1wb3J0RmluZGluZ3NGb3JQcm9kdWN0LFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5FbmFibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkVuYWJsZVNlY3VyaXR5SHViLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5FbmFibGVTZWN1cml0eUh1YkZlYXR1cmVWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRW5hYmxlU2VjdXJpdHlIdWJWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuR2VuZXJhdGVSZWNvbW1lbmRlZFBvbGljeVYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5JbnZpdGVNZW1iZXJzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5TdGFydENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvbixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuU3RhcnRDb25maWd1cmF0aW9uUG9saWN5RGlzYXNzb2NpYXRpb24sXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLlVwZGF0ZUFjdGlvblRhcmdldCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuVXBkYXRlQWdncmVnYXRvclYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5VcGRhdGVBdXRvbWF0aW9uUnVsZVYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5VcGRhdGVDb25maWd1cmF0aW9uUG9saWN5LFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5VcGRhdGVDb25uZWN0b3IsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLlVwZGF0ZUNvbm5lY3RvclYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5VcGRhdGVGaW5kaW5nQWdncmVnYXRvcixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuVXBkYXRlRmluZGluZ3MsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLlVwZGF0ZUluc2lnaHQsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLlVwZGF0ZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb24sXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLlVwZGF0ZVNlY3VyaXR5Q29udHJvbCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuVXBkYXRlU2VjdXJpdHlIdWJDb25maWd1cmF0aW9uLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5VcGRhdGVTdGFuZGFyZHNDb250cm9sLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0RW5hYmxlZFN0YW5kYXJkcyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0SW5zaWdodHMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkxpc3RBY2NvdW50VXNhZ2VWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdEFnZ3JlZ2F0b3JzVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkxpc3RBdXRvbWF0aW9uUnVsZXMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkxpc3RBdXRvbWF0aW9uUnVsZXNWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdENvbmZpZ3VyYXRpb25Qb2xpY2llcyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvbnMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkxpc3RDb25uZWN0b3JzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5MaXN0Q29ubmVjdG9yc1YyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5MaXN0RW5hYmxlZFByb2R1Y3RzRm9ySW1wb3J0LFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5MaXN0RmluZGluZ0FnZ3JlZ2F0b3JzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5MaXN0RnJlZVRyaWFsU3RhdHVzZXNWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdEludml0YXRpb25zLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5MaXN0TWVtYmVycyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdE9yZ2FuaXphdGlvbkFkbWluQWNjb3VudHMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkxpc3RTZWN1cml0eUNvbnRyb2xEZWZpbml0aW9ucyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdFN0YW5kYXJkc0NvbnRyb2xBc3NvY2lhdGlvbnMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5BbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFnZ3JlZ2F0b3J2MiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJBZ2dyZWdhdG9ydjJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdncmVnYXRvclYySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFnZ3JlZ2F0b3JWMklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWdncmVnYXRvcnYyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1YkFnZ3JlZ2F0b3J2MkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdncmVnYXRvclYySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2dyZWdhdG9yVjJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXV0b21hdGlvbi1ydWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1YkF1dG9tYXRpb25SdWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIEF1dG9tYXRpb25SdWxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9tYXRpb25SdWxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhdXRvbWF0aW9uLXJ1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViQXV0b21hdGlvblJ1bGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRpb25SdWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdXRvbWF0aW9uUnVsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhdXRvbWF0aW9uLXJ1bGV2MiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJBdXRvbWF0aW9uUnVsZXYyQXJuUHJvcHMge1xuXHQvKiogVGhlIEF1dG9tYXRpb25SdWxlVjJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGlvblJ1bGVWMklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXV0b21hdGlvbi1ydWxldjIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViQXV0b21hdGlvblJ1bGV2MkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXV0b21hdGlvblJ1bGVWMklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGlvblJ1bGVWMklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb25maWd1cmF0aW9uLXBvbGljeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJDb25maWd1cmF0aW9uUG9saWN5QXJuUHJvcHMge1xuXHQvKiogVGhlIENvbmZpZ3VyYXRpb25Qb2xpY3lJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29uZmlndXJhdGlvblBvbGljeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29uZmlndXJhdGlvbi1wb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViQ29uZmlndXJhdGlvblBvbGljeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uZmlndXJhdGlvblBvbGljeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29uZmlndXJhdGlvblBvbGljeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb25uZWN0b3IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViQ29ubmVjdG9yQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbm5lY3RvcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25uZWN0b3JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbm5lY3RvciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJDb25uZWN0b3JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbm5lY3RvcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29ubmVjdG9ySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvbm5lY3RvcnYyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1YkNvbm5lY3RvcnYyQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbm5lY3RvclYySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbm5lY3RvclYySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb25uZWN0b3J2MiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJDb25uZWN0b3J2MkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29ubmVjdG9yVjJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbm5lY3RvclYySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZpbmRpbmctYWdncmVnYXRvciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJGaW5kaW5nQWdncmVnYXRvckFyblByb3BzIHtcblx0LyoqIFRoZSBGaW5kaW5nQWdncmVnYXRvcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmaW5kaW5nQWdncmVnYXRvcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmluZGluZy1hZ2dyZWdhdG9yIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1YkZpbmRpbmdBZ2dyZWdhdG9yQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBGaW5kaW5nQWdncmVnYXRvcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmluZGluZ0FnZ3JlZ2F0b3JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaHViIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1Ykh1YkFyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBodWIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViSHViQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh1YnYyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1Ykh1YnYyQXJuUHJvcHMge1xuXHQvKiogVGhlIEh1YlYySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1YlYySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBodWJ2MiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJIdWJ2MkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViVjJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1YlYySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb2R1Y3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViUHJvZHVjdEFyblByb3BzIHtcblx0LyoqIFRoZSBDb21wYW55IGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb21wYW55OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvZHVjdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9kdWN0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcm9kdWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1YlByb2R1Y3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbXBhbnkgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb21wYW55OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvZHVjdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvZHVjdElkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFnZ3JlZ2F0b3J2MkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzZWN1cml0eWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZ3JlZ2F0b3J2MlxcLyg/PGFnZ3JlZ2F0b3JWMklkPlteOi8/XSspJC87XG5jb25zdCBBdXRvbWF0aW9uUnVsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzZWN1cml0eWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmF1dG9tYXRpb24tcnVsZVxcLyg/PGF1dG9tYXRpb25SdWxlSWQ+W146Lz9dKykkLztcbmNvbnN0IEF1dG9tYXRpb25SdWxldjJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphdXRvbWF0aW9uLXJ1bGV2MlxcLyg/PGF1dG9tYXRpb25SdWxlVjJJZD5bXjovP10rKSQvO1xuY29uc3QgQ29uZmlndXJhdGlvblBvbGljeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzZWN1cml0eWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbmZpZ3VyYXRpb24tcG9saWN5XFwvKD88Y29uZmlndXJhdGlvblBvbGljeUlkPlteOi8/XSspJC87XG5jb25zdCBDb25uZWN0b3JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25uZWN0b3JcXC8oPzxjb25uZWN0b3JJZD5bXjovP10rKSQvO1xuY29uc3QgQ29ubmVjdG9ydjJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25uZWN0b3J2MlxcLyg/PGNvbm5lY3RvclYySWQ+W146Lz9dKykkLztcbmNvbnN0IEZpbmRpbmdBZ2dyZWdhdG9yQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNlY3VyaXR5aHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZmluZGluZy1hZ2dyZWdhdG9yXFwvKD88ZmluZGluZ0FnZ3JlZ2F0b3JJZD5bXjovP10rKSQvO1xuY29uc3QgSHViQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNlY3VyaXR5aHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHViXFwvZGVmYXVsdCQvO1xuY29uc3QgSHVidjJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpodWJ2MlxcLyg/PGh1YlYySWQ+W146Lz9dKykkLztcbmNvbnN0IFByb2R1Y3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm9kdWN0XFwvKD88Y29tcGFueT5bXjovP10rKVxcLyg/PHByb2R1Y3RJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHNlY3VyaXR5aHViIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlY3VyaXR5SHViUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhZ2dyZWdhdG9ydjIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWdncmVnYXRvcnYyKHByb3BzOiBTZWN1cml0eUh1YkFnZ3JlZ2F0b3J2MkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzZWN1cml0eWh1Yjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZ2dyZWdhdG9ydjIvJHtwcm9wcy5hZ2dyZWdhdG9yVjJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWdncmVnYXRvcnYyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBZ2dyZWdhdG9ydjJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWdncmVnYXRvcnYyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFnZ3JlZ2F0b3J2MiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBZ2dyZWdhdG9ydjJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNlY3VyaXR5SHViQWdncmVnYXRvcnYyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZ2dyZWdhdG9ydjJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWdncmVnYXRvcnYyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZ3JlZ2F0b3JWMklkOiBtYXRjaC5ncm91cHMhLmFnZ3JlZ2F0b3JWMklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGF1dG9tYXRpb24tcnVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWF0aW9uUnVsZShwcm9wczogU2VjdXJpdHlIdWJBdXRvbWF0aW9uUnVsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzZWN1cml0eWh1Yjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphdXRvbWF0aW9uLXJ1bGUvJHtwcm9wcy5hdXRvbWF0aW9uUnVsZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhdXRvbWF0aW9uLXJ1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEF1dG9tYXRpb25SdWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEF1dG9tYXRpb25SdWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGF1dG9tYXRpb24tcnVsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBdXRvbWF0aW9uUnVsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2VjdXJpdHlIdWJBdXRvbWF0aW9uUnVsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXV0b21hdGlvblJ1bGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXV0b21hdGlvbi1ydWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9tYXRpb25SdWxlSWQ6IG1hdGNoLmdyb3VwcyEuYXV0b21hdGlvblJ1bGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhdXRvbWF0aW9uLXJ1bGV2MiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWF0aW9uUnVsZXYyKHByb3BzOiBTZWN1cml0eUh1YkF1dG9tYXRpb25SdWxldjJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXV0b21hdGlvbi1ydWxldjIvJHtwcm9wcy5hdXRvbWF0aW9uUnVsZVYySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGF1dG9tYXRpb24tcnVsZXYyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBdXRvbWF0aW9uUnVsZXYyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEF1dG9tYXRpb25SdWxldjJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXV0b21hdGlvbi1ydWxldjIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXV0b21hdGlvblJ1bGV2MkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2VjdXJpdHlIdWJBdXRvbWF0aW9uUnVsZXYyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBdXRvbWF0aW9uUnVsZXYyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGF1dG9tYXRpb24tcnVsZXYyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9tYXRpb25SdWxlVjJJZDogbWF0Y2guZ3JvdXBzIS5hdXRvbWF0aW9uUnVsZVYySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29uZmlndXJhdGlvbi1wb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29uZmlndXJhdGlvblBvbGljeShcblx0XHRwcm9wczogU2VjdXJpdHlIdWJDb25maWd1cmF0aW9uUG9saWN5QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29uZmlndXJhdGlvbi1wb2xpY3kvJHtwcm9wcy5jb25maWd1cmF0aW9uUG9saWN5SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbmZpZ3VyYXRpb24tcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25maWd1cmF0aW9uUG9saWN5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb25Qb2xpY3lBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29uZmlndXJhdGlvbi1wb2xpY3kgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29uZmlndXJhdGlvblBvbGljeUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2VjdXJpdHlIdWJDb25maWd1cmF0aW9uUG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25maWd1cmF0aW9uUG9saWN5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbmZpZ3VyYXRpb24tcG9saWN5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbmZpZ3VyYXRpb25Qb2xpY3lJZDogbWF0Y2guZ3JvdXBzIS5jb25maWd1cmF0aW9uUG9saWN5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29ubmVjdG9yIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbm5lY3Rvcihwcm9wczogU2VjdXJpdHlIdWJDb25uZWN0b3JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29ubmVjdG9yLyR7cHJvcHMuY29ubmVjdG9ySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbm5lY3RvciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29ubmVjdG9yQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbm5lY3RvckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb25uZWN0b3IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29ubmVjdG9yQXJuKGFybjogc3RyaW5nKTogU2VjdXJpdHlIdWJDb25uZWN0b3JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbm5lY3RvckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25uZWN0b3IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29ubmVjdG9ySWQ6IG1hdGNoLmdyb3VwcyEuY29ubmVjdG9ySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29ubmVjdG9ydjIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdG9ydjIocHJvcHM6IFNlY3VyaXR5SHViQ29ubmVjdG9ydjJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29ubmVjdG9ydjIvJHtwcm9wcy5jb25uZWN0b3JWMklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb25uZWN0b3J2MiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29ubmVjdG9ydjJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29ubmVjdG9ydjJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29ubmVjdG9ydjIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29ubmVjdG9ydjJBcm4oYXJuOiBzdHJpbmcpOiBTZWN1cml0eUh1YkNvbm5lY3RvcnYyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25uZWN0b3J2MkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25uZWN0b3J2MiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb25uZWN0b3JWMklkOiBtYXRjaC5ncm91cHMhLmNvbm5lY3RvclYySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmluZGluZy1hZ2dyZWdhdG9yIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZpbmRpbmdBZ2dyZWdhdG9yKFxuXHRcdHByb3BzOiBTZWN1cml0eUh1YkZpbmRpbmdBZ2dyZWdhdG9yQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZmluZGluZy1hZ2dyZWdhdG9yLyR7cHJvcHMuZmluZGluZ0FnZ3JlZ2F0b3JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZmluZGluZy1hZ2dyZWdhdG9yIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGaW5kaW5nQWdncmVnYXRvckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGaW5kaW5nQWdncmVnYXRvckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmaW5kaW5nLWFnZ3JlZ2F0b3IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmluZGluZ0FnZ3JlZ2F0b3JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNlY3VyaXR5SHViRmluZGluZ0FnZ3JlZ2F0b3JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZpbmRpbmdBZ2dyZWdhdG9yQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZpbmRpbmctYWdncmVnYXRvciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRmaW5kaW5nQWdncmVnYXRvcklkOiBtYXRjaC5ncm91cHMhLmZpbmRpbmdBZ2dyZWdhdG9ySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHViIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh1Yihwcm9wczogU2VjdXJpdHlIdWJIdWJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHViL2RlZmF1bHRgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHViIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIdWJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHViQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh1YiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIdWJBcm4oYXJuOiBzdHJpbmcpOiBTZWN1cml0eUh1Ykh1YkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHViQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh1YiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHVidjIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHVidjIocHJvcHM6IFNlY3VyaXR5SHViSHVidjJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHVidjIvJHtwcm9wcy5odWJWMklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBodWJ2MiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHVidjJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHVidjJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHVidjIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHVidjJBcm4oYXJuOiBzdHJpbmcpOiBTZWN1cml0eUh1Ykh1YnYyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIdWJ2MkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBodWJ2MiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRodWJWMklkOiBtYXRjaC5ncm91cHMhLmh1YlYySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvZHVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9kdWN0KHByb3BzOiBTZWN1cml0eUh1YlByb2R1Y3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvZHVjdC8ke3Byb3BzLmNvbXBhbnl9LyR7cHJvcHMucHJvZHVjdElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9kdWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9kdWN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb2R1Y3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvZHVjdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9kdWN0QXJuKGFybjogc3RyaW5nKTogU2VjdXJpdHlIdWJQcm9kdWN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9kdWN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb2R1Y3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29tcGFueTogbWF0Y2guZ3JvdXBzIS5jb21wYW55LFxuXHRcdFx0cHJvZHVjdElkOiBtYXRjaC5ncm91cHMhLnByb2R1Y3RJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBzZWN1cml0eWh1Yi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlY3VyaXR5SHViT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFjY2VwdEFkbWluaXN0cmF0b3JJbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0QWRtaW5pc3RyYXRvckludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QWNjZXB0QWRtaW5pc3RyYXRvckludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWNjZXB0SW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdEludml0YXRpb246IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6QWNjZXB0SW52aXRhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVBdXRvbWF0aW9uUnVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUF1dG9tYXRpb25SdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpCYXRjaERlbGV0ZUF1dG9tYXRpb25SdWxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERpc2FibGVTdGFuZGFyZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERpc2FibGVTdGFuZGFyZHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hEaXNhYmxlU3RhbmRhcmRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRW5hYmxlU3RhbmRhcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hFbmFibGVTdGFuZGFyZHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hFbmFibGVTdGFuZGFyZHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRBdXRvbWF0aW9uUnVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldEF1dG9tYXRpb25SdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpCYXRjaEdldEF1dG9tYXRpb25SdWxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hHZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0U2VjdXJpdHlDb250cm9scyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0U2VjdXJpdHlDb250cm9sczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpCYXRjaEdldFNlY3VyaXR5Q29udHJvbHNcIixcblx0XHRcInNlY3VyaXR5aHViOkRlc2NyaWJlU3RhbmRhcmRzQ29udHJvbHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkJhdGNoR2V0U3RhbmRhcmRzQ29udHJvbEFzc29jaWF0aW9uc1wiLFxuXHRcdFwic2VjdXJpdHlodWI6RGVzY3JpYmVTdGFuZGFyZHNDb250cm9sc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEltcG9ydEZpbmRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hJbXBvcnRGaW5kaW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpCYXRjaEltcG9ydEZpbmRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoVXBkYXRlQXV0b21hdGlvblJ1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hVcGRhdGVBdXRvbWF0aW9uUnVsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hVcGRhdGVBdXRvbWF0aW9uUnVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hVcGRhdGVGaW5kaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlRmluZGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hVcGRhdGVGaW5kaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaFVwZGF0ZUZpbmRpbmdzVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFVwZGF0ZUZpbmRpbmdzVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hVcGRhdGVGaW5kaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaFVwZGF0ZVN0YW5kYXJkc0NvbnRyb2xBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFVwZGF0ZVN0YW5kYXJkc0NvbnRyb2xBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hVcGRhdGVTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zXCIsXG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVTdGFuZGFyZHNDb250cm9sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFjdGlvblRhcmdldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjdGlvblRhcmdldDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpDcmVhdGVBY3Rpb25UYXJnZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWdncmVnYXRvclYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdncmVnYXRvclYyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkNyZWF0ZUFnZ3JlZ2F0b3JWMlwiLFxuXHRcdFwic2VjdXJpdHlodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXV0b21hdGlvblJ1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0aW9uUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpDcmVhdGVBdXRvbWF0aW9uUnVsZVwiLFxuXHRcdFwic2VjdXJpdHlodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXV0b21hdGlvblJ1bGVWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRpb25SdWxlVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6Q3JlYXRlQXV0b21hdGlvblJ1bGVWMlwiLFxuXHRcdFwic2VjdXJpdHlodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29uZmlndXJhdGlvblBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb25Qb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6Q3JlYXRlQ29uZmlndXJhdGlvblBvbGljeVwiLFxuXHRcdFwic2VjdXJpdHlodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkNyZWF0ZUNvbm5lY3RvclwiLFxuXHRcdFwic2VjdXJpdHlodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29ubmVjdG9yVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0b3JWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpDcmVhdGVDb25uZWN0b3JWMlwiLFxuXHRcdFwic2VjdXJpdHlodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRmluZGluZ0FnZ3JlZ2F0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGaW5kaW5nQWdncmVnYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpDcmVhdGVGaW5kaW5nQWdncmVnYXRvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnNpZ2h0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5zaWdodDogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpDcmVhdGVJbnNpZ2h0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWVtYmVyczogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpDcmVhdGVNZW1iZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUaWNrZXRWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRpY2tldFYyOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkNyZWF0ZVRpY2tldFYyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWNsaW5lSW52aXRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNsaW5lSW52aXRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGVjbGluZUludml0YXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFjdGlvblRhcmdldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjdGlvblRhcmdldDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEZWxldGVBY3Rpb25UYXJnZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdncmVnYXRvclYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdncmVnYXRvclYyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRlbGV0ZUFnZ3JlZ2F0b3JWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBdXRvbWF0aW9uUnVsZVYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b21hdGlvblJ1bGVWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEZWxldGVBdXRvbWF0aW9uUnVsZVYyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyYXRpb25Qb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRlbGV0ZUNvbmZpZ3VyYXRpb25Qb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkRlbGV0ZUNvbm5lY3RvclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29ubmVjdG9yVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25uZWN0b3JWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEZWxldGVDb25uZWN0b3JWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGaW5kaW5nQWdncmVnYXRvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZpbmRpbmdBZ2dyZWdhdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRlbGV0ZUZpbmRpbmdBZ2dyZWdhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUluc2lnaHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnNpZ2h0OiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkRlbGV0ZUluc2lnaHRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUludml0YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW52aXRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGVsZXRlSW52aXRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTWVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1lbWJlcnM6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6RGVsZXRlTWVtYmVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY3Rpb25UYXJnZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY3Rpb25UYXJnZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRlc2NyaWJlQWN0aW9uVGFyZ2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHViOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkRlc2NyaWJlSHViXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGVzY3JpYmVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUHJvZHVjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2R1Y3RzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkRlc2NyaWJlUHJvZHVjdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUHJvZHVjdHNWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJvZHVjdHNWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEZXNjcmliZVByb2R1Y3RzVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZWN1cml0eUh1YlYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZWN1cml0eUh1YlYyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRlc2NyaWJlU2VjdXJpdHlIdWJWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN0YW5kYXJkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3RhbmRhcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRlc2NyaWJlU3RhbmRhcmRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3RhbmRhcmRzQ29udHJvbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0YW5kYXJkc0NvbnRyb2xzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRlc2NyaWJlU3RhbmRhcmRzQ29udHJvbHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYWJsZUltcG9ydEZpbmRpbmdzRm9yUHJvZHVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVJbXBvcnRGaW5kaW5nc0ZvclByb2R1Y3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGlzYWJsZUltcG9ydEZpbmRpbmdzRm9yUHJvZHVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEaXNhYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVTZWN1cml0eUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVTZWN1cml0eUh1Yjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEaXNhYmxlU2VjdXJpdHlIdWJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYWJsZVNlY3VyaXR5SHViRmVhdHVyZVYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZVNlY3VyaXR5SHViRmVhdHVyZVYyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRpc2FibGVTZWN1cml0eUh1YkZlYXR1cmVWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhYmxlU2VjdXJpdHlIdWJWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVTZWN1cml0eUh1YlYyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRpc2FibGVTZWN1cml0eUh1YlYyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUZyb21BZG1pbmlzdHJhdG9yQWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUZyb21BZG1pbmlzdHJhdG9yQWNjb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEaXNhc3NvY2lhdGVGcm9tQWRtaW5pc3RyYXRvckFjY291bnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlRnJvbU1hc3RlckFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVGcm9tTWFzdGVyQWNjb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEaXNhc3NvY2lhdGVGcm9tTWFzdGVyQWNjb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlTWVtYmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEaXNhc3NvY2lhdGVNZW1iZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZUltcG9ydEZpbmRpbmdzRm9yUHJvZHVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZUltcG9ydEZpbmRpbmdzRm9yUHJvZHVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpFbmFibGVJbXBvcnRGaW5kaW5nc0ZvclByb2R1Y3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRW5hYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkVuYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVTZWN1cml0eUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZVNlY3VyaXR5SHViOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkVuYWJsZVNlY3VyaXR5SHViXCIsXG5cdFx0XCJzZWN1cml0eWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVTZWN1cml0eUh1YkZlYXR1cmVWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZVNlY3VyaXR5SHViRmVhdHVyZVYyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkVuYWJsZVNlY3VyaXR5SHViRmVhdHVyZVYyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZVNlY3VyaXR5SHViVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVTZWN1cml0eUh1YlYyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkVuYWJsZVNlY3VyaXR5SHViVjJcIixcblx0XHRcInNlY3VyaXR5aHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdlbmVyYXRlUmVjb21tZW5kZWRQb2xpY3lWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlUmVjb21tZW5kZWRQb2xpY3lWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpHZW5lcmF0ZVJlY29tbWVuZGVkUG9saWN5VjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWRtaW5pc3RyYXRvckFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFkbWluaXN0cmF0b3JBY2NvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkdldEFkbWluaXN0cmF0b3JBY2NvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZ3JlZ2F0b3JWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdncmVnYXRvclYyOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkdldEFnZ3JlZ2F0b3JWMlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXV0b21hdGlvblJ1bGVWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b21hdGlvblJ1bGVWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpHZXRBdXRvbWF0aW9uUnVsZVYyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbmZpZ3VyYXRpb25Qb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZpZ3VyYXRpb25Qb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6R2V0Q29uZmlndXJhdGlvblBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpHZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25uZWN0b3I6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6R2V0Q29ubmVjdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25uZWN0b3JWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29ubmVjdG9yVjI6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6R2V0Q29ubmVjdG9yVjJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEVuYWJsZWRTdGFuZGFyZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEVuYWJsZWRTdGFuZGFyZHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6R2V0RW5hYmxlZFN0YW5kYXJkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRGaW5kaW5nQWdncmVnYXRvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RmluZGluZ0FnZ3JlZ2F0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6R2V0RmluZGluZ0FnZ3JlZ2F0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmluZGluZ0hpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZpbmRpbmdIaXN0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkdldEZpbmRpbmdIaXN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZpbmRpbmdTdGF0aXN0aWNzVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZpbmRpbmdTdGF0aXN0aWNzVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6R2V0QWRob2NJbnNpZ2h0UmVzdWx0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRGaW5kaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RmluZGluZ3M6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6R2V0RmluZGluZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZpbmRpbmdzVHJlbmRzVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZpbmRpbmdzVHJlbmRzVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6R2V0RmluZGluZ3NUcmVuZHNWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRGaW5kaW5nc1YyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGaW5kaW5nc1YyOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkdldEZpbmRpbmdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnNpZ2h0UmVzdWx0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW5zaWdodFJlc3VsdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6R2V0SW5zaWdodFJlc3VsdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5zaWdodHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluc2lnaHRzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkdldEluc2lnaHRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnZpdGF0aW9uc0NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbnZpdGF0aW9uc0NvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkdldEludml0YXRpb25zQ291bnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFzdGVyQWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWFzdGVyQWNjb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpHZXRNYXN0ZXJBY2NvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1lbWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1lbWJlcnM6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6R2V0TWVtYmVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb21tZW5kZWRQb2xpY3lWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb21tZW5kZWRQb2xpY3lWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpHZXRSZWNvbW1lbmRlZFBvbGljeVYyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlc1N0YXRpc3RpY3NWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VzU3RhdGlzdGljc1YyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkdldFJlc291cmNlc1N0YXRpc3RpY3NWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXNvdXJjZXNUcmVuZHNWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VzVHJlbmRzVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6R2V0UmVzb3VyY2VzVHJlbmRzVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VzVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlc1YyOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkdldFJlc291cmNlc1YyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZWN1cml0eUNvbnRyb2xEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZWN1cml0eUNvbnRyb2xEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkdldFNlY3VyaXR5Q29udHJvbERlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52aXRlTWVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludml0ZU1lbWJlcnM6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6SW52aXRlTWVtYmVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFnZ3JlZ2F0b3JzVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdncmVnYXRvcnNWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0QWdncmVnYXRvcnNWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b21hdGlvblJ1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRpb25SdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0QXV0b21hdGlvblJ1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0aW9uUnVsZXNWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0aW9uUnVsZXNWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0QXV0b21hdGlvblJ1bGVzVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbmZpZ3VyYXRpb25Qb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmF0aW9uUG9saWNpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6TGlzdENvbmZpZ3VyYXRpb25Qb2xpY2llc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkxpc3RDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25uZWN0b3JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3RvcnM6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6TGlzdENvbm5lY3RvcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25uZWN0b3JzVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdG9yc1YyOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkxpc3RDb25uZWN0b3JzVjJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmFibGVkUHJvZHVjdHNGb3JJbXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5hYmxlZFByb2R1Y3RzRm9ySW1wb3J0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkxpc3RFbmFibGVkUHJvZHVjdHNGb3JJbXBvcnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZpbmRpbmdBZ2dyZWdhdG9ycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGaW5kaW5nQWdncmVnYXRvcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6TGlzdEZpbmRpbmdBZ2dyZWdhdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RnJlZVRyaWFsU3RhdHVzZXNWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGcmVlVHJpYWxTdGF0dXNlc1YyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkxpc3RGcmVlVHJpYWxTdGF0dXNlc1YyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbnZpdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZpdGF0aW9uczogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpMaXN0SW52aXRhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnM6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6TGlzdE1lbWJlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9yZ2FuaXphdGlvbkFkbWluQWNjb3VudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6TGlzdE9yZ2FuaXphdGlvbkFkbWluQWNjb3VudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlY3VyaXR5Q29udHJvbERlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlY3VyaXR5Q29udHJvbERlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkxpc3RTZWN1cml0eUNvbnRyb2xEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3RhbmRhcmRzQ29udHJvbEFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRlc2NyaWJlU3RhbmRhcmRzQ29udHJvbHNcIixcblx0XHRcInNlY3VyaXR5aHViOkxpc3RTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJDb25uZWN0b3JWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyQ29ubmVjdG9yVjI6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6U3RhcnRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRDb25maWd1cmF0aW9uUG9saWN5RGlzYXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvbmZpZ3VyYXRpb25Qb2xpY3lEaXNhc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpTdGFydENvbmZpZ3VyYXRpb25Qb2xpY3lEaXNhc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBY3Rpb25UYXJnZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY3Rpb25UYXJnZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6VXBkYXRlQWN0aW9uVGFyZ2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZ3JlZ2F0b3JWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZ3JlZ2F0b3JWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVBZ2dyZWdhdG9yVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXV0b21hdGlvblJ1bGVWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRpb25SdWxlVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6VXBkYXRlQXV0b21hdGlvblJ1bGVWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25maWd1cmF0aW9uUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJhdGlvblBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVDb25maWd1cmF0aW9uUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3Rvcjogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpVcGRhdGVDb25uZWN0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbm5lY3RvclYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29ubmVjdG9yVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6VXBkYXRlQ29ubmVjdG9yVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmluZGluZ0FnZ3JlZ2F0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGaW5kaW5nQWdncmVnYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVGaW5kaW5nQWdncmVnYXRvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVGaW5kaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZpbmRpbmdzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOlVwZGF0ZUZpbmRpbmdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbnNpZ2h0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5zaWdodDogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpVcGRhdGVJbnNpZ2h0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNlY3VyaXR5Q29udHJvbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlY3VyaXR5Q29udHJvbDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVTZWN1cml0eUNvbnRyb2xcIixcblx0XHRcInNlY3VyaXR5aHViOlVwZGF0ZVN0YW5kYXJkc0NvbnRyb2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VjdXJpdHlIdWJDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VjdXJpdHlIdWJDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOlVwZGF0ZVNlY3VyaXR5SHViQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTdGFuZGFyZHNDb250cm9sIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3RhbmRhcmRzQ29udHJvbDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVTdGFuZGFyZHNDb250cm9sXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBzZWN1cml0eWh1Yi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlY3VyaXR5SHViQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBCYXRjaEltcG9ydEZpbmRpbmdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoSW1wb3J0RmluZGluZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOlRhcmdldEFjY291bnRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEJhdGNoVXBkYXRlRmluZGluZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hVcGRhdGVGaW5kaW5nc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QVNGRlN5bnRheFBhdGgvJHtBU0ZGU3ludGF4UGF0aH1cIixcblx0XHRcInNlY3VyaXR5aHViOk9DU0ZTeW50YXhQYXRoLyR7T0NTRlN5bnRheFBhdGh9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0aW9uUnVsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0aW9uUnVsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXV0b21hdGlvblJ1bGVWMiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0aW9uUnVsZVYyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb25maWd1cmF0aW9uUG9saWN5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb25Qb2xpY3lDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbm5lY3RvciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0b3JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbm5lY3RvclYyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3RvclYyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBFbmFibGVTZWN1cml0eUh1YiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVTZWN1cml0eUh1YkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRW5hYmxlU2VjdXJpdHlIdWJWMiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVTZWN1cml0eUh1YlYyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2VjdXJpdHlodWI6QVNGRlN5bnRheFBhdGgvJHtBU0ZGU3ludGF4UGF0aH0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFTRkZfU1lOVEFYX1BBVEggPVxuXHRcdFwic2VjdXJpdHlodWI6QVNGRlN5bnRheFBhdGgvJHtBU0ZGU3ludGF4UGF0aH1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNlY3VyaXR5aHViOk9DU0ZTeW50YXhQYXRoLyR7T0NTRlN5bnRheFBhdGh9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBPQ1NGX1NZTlRBWF9QQVRIID1cblx0XHRcInNlY3VyaXR5aHViOk9DU0ZTeW50YXhQYXRoLyR7T0NTRlN5bnRheFBhdGh9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzZWN1cml0eWh1YjpUYXJnZXRBY2NvdW50IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBUQVJHRVRfQUNDT1VOVCA9IFwic2VjdXJpdHlodWI6VGFyZ2V0QWNjb3VudFwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzZWN1cml0eWh1YjpBU0ZGU3ludGF4UGF0aC8ke0FTRkZTeW50YXhQYXRofWAuXG5cdCAqL1xuXHRzdGF0aWMgYXNmZlN5bnRheFBhdGgodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwic2VjdXJpdHlodWI6QVNGRlN5bnRheFBhdGgvJHtBU0ZGU3ludGF4UGF0aH1cIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNlY3VyaXR5aHViOk9DU0ZTeW50YXhQYXRoLyR7T0NTRlN5bnRheFBhdGh9YC5cblx0ICovXG5cdHN0YXRpYyBvY3NmU3ludGF4UGF0aCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJzZWN1cml0eWh1YjpPQ1NGU3ludGF4UGF0aC8ke09DU0ZTeW50YXhQYXRofVwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2VjdXJpdHlodWI6VGFyZ2V0QWNjb3VudGAuXG5cdCAqL1xuXHRzdGF0aWMgdGFyZ2V0QWNjb3VudCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNlY3VyaXR5aHViOlRhcmdldEFjY291bnRcIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=
1265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHlodWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL3NlY3VyaXR5aHViLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsa0RBQWtEO0FBQ2xELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLGtCQUFrQjs7QUFBL0IsZ0RBbWRDOzs7QUFsZEEsOEJBQThCO0FBQ2QsaUNBQWMsR0FBRyxhQUFhLENBQUM7QUFFL0Msd0RBQXdEO0FBQ3hDLGdEQUE2QixHQUM1QywyQ0FBMkMsQ0FBQztBQUM3QywyQ0FBMkM7QUFDM0IsbUNBQWdCLEdBQUcsOEJBQThCLENBQUM7QUFDbEUsMkVBQTJFO0FBQzNELG9EQUFpQyxHQUNoRCwrQ0FBK0MsQ0FBQztBQUNqRCxxREFBcUQ7QUFDckMsNkNBQTBCLEdBQ3pDLHdDQUF3QyxDQUFDO0FBQzFDLGdEQUFnRDtBQUNoQyx3Q0FBcUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM1RSwrQ0FBK0M7QUFDL0IsdUNBQW9CLEdBQUcsa0NBQWtDLENBQUM7QUFDMUUsaURBQWlEO0FBQ2pDLDBDQUF1QixHQUN0QyxxQ0FBcUMsQ0FBQztBQUN2QyxpRUFBaUU7QUFDakQsMERBQXVDLEdBQ3RELHFEQUFxRCxDQUFDO0FBQ3ZELG9EQUFvRDtBQUNwQyw2Q0FBMEIsR0FDekMsd0NBQXdDLENBQUM7QUFDMUMsa0RBQWtEO0FBQ2xDLDJDQUF3QixHQUN2QyxzQ0FBc0MsQ0FBQztBQUN4QyxrREFBa0Q7QUFDbEMsMkNBQXdCLEdBQ3ZDLHNDQUFzQyxDQUFDO0FBQ3hDLDhEQUE4RDtBQUM5Qyx1REFBb0MsR0FDbkQsa0RBQWtELENBQUM7QUFDcEQsOENBQThDO0FBQzlCLHNDQUFtQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3hFLHFEQUFxRDtBQUNyQyw2Q0FBMEIsR0FD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Q2IsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCxvREFBOEIsR0FBYTtJQUMxRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixpRUFBaUU7QUFDakQsb0RBQThCLEdBQWE7SUFDMUQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsbUVBQW1FO0FBQ25ELHNEQUFnQyxHQUFhO0lBQzVELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUVGLHVEQUF1RDtBQUN2QyxxQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxzQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsa0NBQVksR0FBRyxhQUFhLENBQUM7QUFDN0MsMkVBQTJFO0FBQzNELHNDQUFnQixHQUMvQiw4Q0FBOEMsQ0FBQztBQUNoRCwyRUFBMkU7QUFDM0Qsc0NBQWdCLEdBQy9CLDhDQUE4QyxDQUFDO0FBQ2hELHdEQUF3RDtBQUN4QyxvQ0FBYyxHQUFHLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2Uvc2VjdXJpdHlodWIuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIHNlY3VyaXR5aHViIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWN1cml0eUh1YkFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJzZWN1cml0eWh1YlwiO1xuXG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkFjY2VwdEFkbWluaXN0cmF0b3JJbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRBZG1pbmlzdHJhdG9ySW52aXRhdGlvbiA9XG5cdFx0XCJzZWN1cml0eWh1YjpBY2NlcHRBZG1pbmlzdHJhdG9ySW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpBY2NlcHRJbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRJbnZpdGF0aW9uID0gXCJzZWN1cml0eWh1YjpBY2NlcHRJbnZpdGF0aW9uXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIHNlY3VyaXR5aHViOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlID1cblx0XHRcInNlY3VyaXR5aHViOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpCYXRjaERlbGV0ZUF1dG9tYXRpb25SdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVBdXRvbWF0aW9uUnVsZXMgPVxuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hEZWxldGVBdXRvbWF0aW9uUnVsZXNcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6QmF0Y2hEaXNhYmxlU3RhbmRhcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERpc2FibGVTdGFuZGFyZHMgPSBcInNlY3VyaXR5aHViOkJhdGNoRGlzYWJsZVN0YW5kYXJkc1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpCYXRjaEVuYWJsZVN0YW5kYXJkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hFbmFibGVTdGFuZGFyZHMgPSBcInNlY3VyaXR5aHViOkJhdGNoRW5hYmxlU3RhbmRhcmRzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6QmF0Y2hHZXRBdXRvbWF0aW9uUnVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0QXV0b21hdGlvblJ1bGVzID1cblx0XHRcInNlY3VyaXR5aHViOkJhdGNoR2V0QXV0b21hdGlvblJ1bGVzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6QmF0Y2hHZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvbnMgPVxuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hHZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6QmF0Y2hHZXRDb250cm9sRXZhbHVhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0Q29udHJvbEV2YWx1YXRpb25zID1cblx0XHRcInNlY3VyaXR5aHViOkJhdGNoR2V0Q29udHJvbEV2YWx1YXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6QmF0Y2hHZXRFbmFibGVkUmVnaW9uc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldEVuYWJsZWRSZWdpb25zVjIgPVxuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hHZXRFbmFibGVkUmVnaW9uc1YyXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6QmF0Y2hHZXRTZWN1cml0eUNvbnRyb2xzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFNlY3VyaXR5Q29udHJvbHMgPVxuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hHZXRTZWN1cml0eUNvbnRyb2xzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6QmF0Y2hHZXRTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFN0YW5kYXJkc0NvbnRyb2xBc3NvY2lhdGlvbnMgPVxuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hHZXRTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkJhdGNoSW1wb3J0RmluZGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoSW1wb3J0RmluZGluZ3MgPSBcInNlY3VyaXR5aHViOkJhdGNoSW1wb3J0RmluZGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6QmF0Y2hVcGRhdGVBdXRvbWF0aW9uUnVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlQXV0b21hdGlvblJ1bGVzID1cblx0XHRcInNlY3VyaXR5aHViOkJhdGNoVXBkYXRlQXV0b21hdGlvblJ1bGVzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkJhdGNoVXBkYXRlRmluZGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlRmluZGluZ3MgPSBcInNlY3VyaXR5aHViOkJhdGNoVXBkYXRlRmluZGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6QmF0Y2hVcGRhdGVTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFVwZGF0ZVN0YW5kYXJkc0NvbnRyb2xBc3NvY2lhdGlvbnMgPVxuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hVcGRhdGVTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkNvbm5lY3RvclJlZ2lzdHJhdGlvbnNWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29ubmVjdG9yUmVnaXN0cmF0aW9uc1YyID1cblx0XHRcInNlY3VyaXR5aHViOkNvbm5lY3RvclJlZ2lzdHJhdGlvbnNWMlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpDcmVhdGVBY3Rpb25UYXJnZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjdGlvblRhcmdldCA9IFwic2VjdXJpdHlodWI6Q3JlYXRlQWN0aW9uVGFyZ2V0XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkNyZWF0ZUFnZ3JlZ2F0b3JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdncmVnYXRvclYyID0gXCJzZWN1cml0eWh1YjpDcmVhdGVBZ2dyZWdhdG9yVjJcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6Q3JlYXRlQXV0b21hdGlvblJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRpb25SdWxlID0gXCJzZWN1cml0eWh1YjpDcmVhdGVBdXRvbWF0aW9uUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpDcmVhdGVBdXRvbWF0aW9uUnVsZVYyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0aW9uUnVsZVYyID0gXCJzZWN1cml0eWh1YjpDcmVhdGVBdXRvbWF0aW9uUnVsZVYyXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkNyZWF0ZUNvbmZpZ3VyYXRpb25Qb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb25Qb2xpY3kgPVxuXHRcdFwic2VjdXJpdHlodWI6Q3JlYXRlQ29uZmlndXJhdGlvblBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpDcmVhdGVDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3RvciA9IFwic2VjdXJpdHlodWI6Q3JlYXRlQ29ubmVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkNyZWF0ZUNvbm5lY3RvclYyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0b3JWMiA9IFwic2VjdXJpdHlodWI6Q3JlYXRlQ29ubmVjdG9yVjJcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6Q3JlYXRlRmluZGluZ0FnZ3JlZ2F0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZpbmRpbmdBZ2dyZWdhdG9yID1cblx0XHRcInNlY3VyaXR5aHViOkNyZWF0ZUZpbmRpbmdBZ2dyZWdhdG9yXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkNyZWF0ZUluc2lnaHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluc2lnaHQgPSBcInNlY3VyaXR5aHViOkNyZWF0ZUluc2lnaHRcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6Q3JlYXRlTWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWVtYmVycyA9IFwic2VjdXJpdHlodWI6Q3JlYXRlTWVtYmVyc1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpDcmVhdGVUaWNrZXRWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGlja2V0VjIgPSBcInNlY3VyaXR5aHViOkNyZWF0ZVRpY2tldFYyXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRlY2xpbmVJbnZpdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjbGluZUludml0YXRpb25zID0gXCJzZWN1cml0eWh1YjpEZWNsaW5lSW52aXRhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RGVsZXRlQWN0aW9uVGFyZ2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY3Rpb25UYXJnZXQgPSBcInNlY3VyaXR5aHViOkRlbGV0ZUFjdGlvblRhcmdldFwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEZWxldGVBZ2dyZWdhdG9yVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZ3JlZ2F0b3JWMiA9IFwic2VjdXJpdHlodWI6RGVsZXRlQWdncmVnYXRvclYyXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRlbGV0ZUF1dG9tYXRpb25SdWxlVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRpb25SdWxlVjIgPSBcInNlY3VyaXR5aHViOkRlbGV0ZUF1dG9tYXRpb25SdWxlVjJcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RGVsZXRlQ29uZmlndXJhdGlvblBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJhdGlvblBvbGljeSA9XG5cdFx0XCJzZWN1cml0eWh1YjpEZWxldGVDb25maWd1cmF0aW9uUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRlbGV0ZUNvbm5lY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29ubmVjdG9yID0gXCJzZWN1cml0eWh1YjpEZWxldGVDb25uZWN0b3JcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RGVsZXRlQ29ubmVjdG9yVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3RvclYyID0gXCJzZWN1cml0eWh1YjpEZWxldGVDb25uZWN0b3JWMlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEZWxldGVGaW5kaW5nQWdncmVnYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmluZGluZ0FnZ3JlZ2F0b3IgPVxuXHRcdFwic2VjdXJpdHlodWI6RGVsZXRlRmluZGluZ0FnZ3JlZ2F0b3JcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RGVsZXRlSW5zaWdodCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5zaWdodCA9IFwic2VjdXJpdHlodWI6RGVsZXRlSW5zaWdodFwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEZWxldGVJbnZpdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW52aXRhdGlvbnMgPSBcInNlY3VyaXR5aHViOkRlbGV0ZUludml0YXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRlbGV0ZU1lbWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1lbWJlcnMgPSBcInNlY3VyaXR5aHViOkRlbGV0ZU1lbWJlcnNcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpEZXNjcmliZUFjdGlvblRhcmdldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWN0aW9uVGFyZ2V0cyA9IFwic2VjdXJpdHlodWI6RGVzY3JpYmVBY3Rpb25UYXJnZXRzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6RGVzY3JpYmVIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHViID0gXCJzZWN1cml0eWh1YjpEZXNjcmliZUh1YlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcInNlY3VyaXR5aHViOkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkRlc2NyaWJlUHJvZHVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJvZHVjdHMgPSBcInNlY3VyaXR5aHViOkRlc2NyaWJlUHJvZHVjdHNcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpEZXNjcmliZVByb2R1Y3RzVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJvZHVjdHNWMiA9IFwic2VjdXJpdHlodWI6RGVzY3JpYmVQcm9kdWN0c1YyXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6RGVzY3JpYmVTZWN1cml0eUh1YlYyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlY3VyaXR5SHViVjIgPSBcInNlY3VyaXR5aHViOkRlc2NyaWJlU2VjdXJpdHlIdWJWMlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkRlc2NyaWJlU3RhbmRhcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0YW5kYXJkcyA9IFwic2VjdXJpdHlodWI6RGVzY3JpYmVTdGFuZGFyZHNcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpEZXNjcmliZVN0YW5kYXJkc0NvbnRyb2xzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0YW5kYXJkc0NvbnRyb2xzID1cblx0XHRcInNlY3VyaXR5aHViOkRlc2NyaWJlU3RhbmRhcmRzQ29udHJvbHNcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RGlzYWJsZUltcG9ydEZpbmRpbmdzRm9yUHJvZHVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZUltcG9ydEZpbmRpbmdzRm9yUHJvZHVjdCA9XG5cdFx0XCJzZWN1cml0eWh1YjpEaXNhYmxlSW1wb3J0RmluZGluZ3NGb3JQcm9kdWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRpc2FibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQgPVxuXHRcdFwic2VjdXJpdHlodWI6RGlzYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudFwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEaXNhYmxlU2VjdXJpdHlIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVTZWN1cml0eUh1YiA9IFwic2VjdXJpdHlodWI6RGlzYWJsZVNlY3VyaXR5SHViXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRpc2FibGVTZWN1cml0eUh1YkZlYXR1cmVWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZVNlY3VyaXR5SHViRmVhdHVyZVYyID1cblx0XHRcInNlY3VyaXR5aHViOkRpc2FibGVTZWN1cml0eUh1YkZlYXR1cmVWMlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEaXNhYmxlU2VjdXJpdHlIdWJWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZVNlY3VyaXR5SHViVjIgPSBcInNlY3VyaXR5aHViOkRpc2FibGVTZWN1cml0eUh1YlYyXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkRpc2Fzc29jaWF0ZUZyb21BZG1pbmlzdHJhdG9yQWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlRnJvbUFkbWluaXN0cmF0b3JBY2NvdW50ID1cblx0XHRcInNlY3VyaXR5aHViOkRpc2Fzc29jaWF0ZUZyb21BZG1pbmlzdHJhdG9yQWNjb3VudFwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpEaXNhc3NvY2lhdGVGcm9tTWFzdGVyQWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlRnJvbU1hc3RlckFjY291bnQgPVxuXHRcdFwic2VjdXJpdHlodWI6RGlzYXNzb2NpYXRlRnJvbU1hc3RlckFjY291bnRcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RGlzYXNzb2NpYXRlTWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlTWVtYmVycyA9IFwic2VjdXJpdHlodWI6RGlzYXNzb2NpYXRlTWVtYmVyc1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpFbmFibGVJbXBvcnRGaW5kaW5nc0ZvclByb2R1Y3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZUltcG9ydEZpbmRpbmdzRm9yUHJvZHVjdCA9XG5cdFx0XCJzZWN1cml0eWh1YjpFbmFibGVJbXBvcnRGaW5kaW5nc0ZvclByb2R1Y3RcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RW5hYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQgPVxuXHRcdFwic2VjdXJpdHlodWI6RW5hYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkVuYWJsZVNlY3VyaXR5SHViICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVTZWN1cml0eUh1YiA9IFwic2VjdXJpdHlodWI6RW5hYmxlU2VjdXJpdHlIdWJcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6RW5hYmxlU2VjdXJpdHlIdWJGZWF0dXJlVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZVNlY3VyaXR5SHViRmVhdHVyZVYyID1cblx0XHRcInNlY3VyaXR5aHViOkVuYWJsZVNlY3VyaXR5SHViRmVhdHVyZVYyXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOkVuYWJsZVNlY3VyaXR5SHViVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZVNlY3VyaXR5SHViVjIgPSBcInNlY3VyaXR5aHViOkVuYWJsZVNlY3VyaXR5SHViVjJcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6R2VuZXJhdGVSZWNvbW1lbmRlZFBvbGljeVYyICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZVJlY29tbWVuZGVkUG9saWN5VjIgPVxuXHRcdFwic2VjdXJpdHlodWI6R2VuZXJhdGVSZWNvbW1lbmRlZFBvbGljeVYyXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0QWRob2NJbnNpZ2h0UmVzdWx0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWRob2NJbnNpZ2h0UmVzdWx0cyA9XG5cdFx0XCJzZWN1cml0eWh1YjpHZXRBZGhvY0luc2lnaHRSZXN1bHRzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0QWRtaW5pc3RyYXRvckFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFkbWluaXN0cmF0b3JBY2NvdW50ID1cblx0XHRcInNlY3VyaXR5aHViOkdldEFkbWluaXN0cmF0b3JBY2NvdW50XCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0QWdncmVnYXRvclYyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2dyZWdhdG9yVjIgPSBcInNlY3VyaXR5aHViOkdldEFnZ3JlZ2F0b3JWMlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldEF1dG9tYXRpb25SdWxlVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRpb25SdWxlVjIgPSBcInNlY3VyaXR5aHViOkdldEF1dG9tYXRpb25SdWxlVjJcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRDb25maWd1cmF0aW9uUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25maWd1cmF0aW9uUG9saWN5ID1cblx0XHRcInNlY3VyaXR5aHViOkdldENvbmZpZ3VyYXRpb25Qb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvbiA9XG5cdFx0XCJzZWN1cml0eWh1YjpHZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25cIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbm5lY3RvciA9IFwic2VjdXJpdHlodWI6R2V0Q29ubmVjdG9yXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0Q29ubmVjdG9yVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbm5lY3RvclYyID0gXCJzZWN1cml0eWh1YjpHZXRDb25uZWN0b3JWMlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldENvbnRyb2xGaW5kaW5nU3VtbWFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29udHJvbEZpbmRpbmdTdW1tYXJ5ID1cblx0XHRcInNlY3VyaXR5aHViOkdldENvbnRyb2xGaW5kaW5nU3VtbWFyeVwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldENvdmVyYWdlU3RhdGlzdGljc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb3ZlcmFnZVN0YXRpc3RpY3NWMiA9XG5cdFx0XCJzZWN1cml0eWh1YjpHZXRDb3ZlcmFnZVN0YXRpc3RpY3NWMlwiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkdldEVuYWJsZWRTdGFuZGFyZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEVuYWJsZWRTdGFuZGFyZHMgPSBcInNlY3VyaXR5aHViOkdldEVuYWJsZWRTdGFuZGFyZHNcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRGaW5kaW5nQWdncmVnYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RmluZGluZ0FnZ3JlZ2F0b3IgPVxuXHRcdFwic2VjdXJpdHlodWI6R2V0RmluZGluZ0FnZ3JlZ2F0b3JcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRGaW5kaW5nSGlzdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RmluZGluZ0hpc3RvcnkgPSBcInNlY3VyaXR5aHViOkdldEZpbmRpbmdIaXN0b3J5XCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0RmluZGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZpbmRpbmdzID0gXCJzZWN1cml0eWh1YjpHZXRGaW5kaW5nc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldEZpbmRpbmdzVHJlbmRzVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZpbmRpbmdzVHJlbmRzVjIgPSBcInNlY3VyaXR5aHViOkdldEZpbmRpbmdzVHJlbmRzVjJcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRGcmVlVHJpYWxFbmREYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGcmVlVHJpYWxFbmREYXRlID0gXCJzZWN1cml0eWh1YjpHZXRGcmVlVHJpYWxFbmREYXRlXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0RnJlZVRyaWFsVXNhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZyZWVUcmlhbFVzYWdlID0gXCJzZWN1cml0eWh1YjpHZXRGcmVlVHJpYWxVc2FnZVwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldEluc2lnaHRGaW5kaW5nVHJlbmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluc2lnaHRGaW5kaW5nVHJlbmQgPVxuXHRcdFwic2VjdXJpdHlodWI6R2V0SW5zaWdodEZpbmRpbmdUcmVuZFwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldEluc2lnaHRSZXN1bHRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnNpZ2h0UmVzdWx0cyA9IFwic2VjdXJpdHlodWI6R2V0SW5zaWdodFJlc3VsdHNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWh1YjpHZXRJbnNpZ2h0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5zaWdodHMgPSBcInNlY3VyaXR5aHViOkdldEluc2lnaHRzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0SW52aXRhdGlvbnNDb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW52aXRhdGlvbnNDb3VudCA9IFwic2VjdXJpdHlodWI6R2V0SW52aXRhdGlvbnNDb3VudFwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldE1hc3RlckFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hc3RlckFjY291bnQgPSBcInNlY3VyaXR5aHViOkdldE1hc3RlckFjY291bnRcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNZW1iZXJzID0gXCJzZWN1cml0eWh1YjpHZXRNZW1iZXJzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0UmVjb21tZW5kZWRQb2xpY3lWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb21tZW5kZWRQb2xpY3lWMiA9XG5cdFx0XCJzZWN1cml0eWh1YjpHZXRSZWNvbW1lbmRlZFBvbGljeVYyXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0UmVtZWRpYXRpb25zVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbWVkaWF0aW9uc1YyID0gXCJzZWN1cml0eWh1YjpHZXRSZW1lZGlhdGlvbnNWMlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldFJlc291cmNlc1N0YXRpc3RpY3NWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VzU3RhdGlzdGljc1YyID1cblx0XHRcInNlY3VyaXR5aHViOkdldFJlc291cmNlc1N0YXRpc3RpY3NWMlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldFJlc291cmNlc1RyZW5kc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZXNUcmVuZHNWMiA9XG5cdFx0XCJzZWN1cml0eWh1YjpHZXRSZXNvdXJjZXNUcmVuZHNWMlwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOkdldFJlc291cmNlc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZXNWMiA9IFwic2VjdXJpdHlodWI6R2V0UmVzb3VyY2VzVjJcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRTZWN1cml0eUNvbnRyb2xEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZWN1cml0eUNvbnRyb2xEZWZpbml0aW9uID1cblx0XHRcInNlY3VyaXR5aHViOkdldFNlY3VyaXR5Q29udHJvbERlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpHZXRVc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VXNhZ2UgPSBcInNlY3VyaXR5aHViOkdldFVzYWdlXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6R2V0VXNhZ2VWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VXNhZ2VWMiA9IFwic2VjdXJpdHlodWI6R2V0VXNhZ2VWMlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpJbnZpdGVNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZpdGVNZW1iZXJzID0gXCJzZWN1cml0eWh1YjpJbnZpdGVNZW1iZXJzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdEFjY291bnRVc2FnZVYyICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWNjb3VudFVzYWdlVjIgPSBcInNlY3VyaXR5aHViOkxpc3RBY2NvdW50VXNhZ2VWMlwiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkxpc3RBZ2dyZWdhdG9yc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdncmVnYXRvcnNWMiA9IFwic2VjdXJpdHlodWI6TGlzdEFnZ3JlZ2F0b3JzVjJcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWh1YjpMaXN0QXV0b21hdGlvblJ1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGlvblJ1bGVzID0gXCJzZWN1cml0eWh1YjpMaXN0QXV0b21hdGlvblJ1bGVzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdEF1dG9tYXRpb25SdWxlc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGlvblJ1bGVzVjIgPSBcInNlY3VyaXR5aHViOkxpc3RBdXRvbWF0aW9uUnVsZXNWMlwiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkxpc3RDb25maWd1cmF0aW9uUG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmF0aW9uUG9saWNpZXMgPVxuXHRcdFwic2VjdXJpdHlodWI6TGlzdENvbmZpZ3VyYXRpb25Qb2xpY2llc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkxpc3RDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9ucyA9XG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkxpc3RDb25uZWN0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdG9ycyA9IFwic2VjdXJpdHlodWI6TGlzdENvbm5lY3RvcnNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWh1YjpMaXN0Q29ubmVjdG9yc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdG9yc1YyID0gXCJzZWN1cml0eWh1YjpMaXN0Q29ubmVjdG9yc1YyXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6TGlzdENvbnRyb2xFdmFsdWF0aW9uU3VtbWFyaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29udHJvbEV2YWx1YXRpb25TdW1tYXJpZXMgPVxuXHRcdFwic2VjdXJpdHlodWI6TGlzdENvbnRyb2xFdmFsdWF0aW9uU3VtbWFyaWVzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdEVuYWJsZWRQcm9kdWN0c0ZvckltcG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuYWJsZWRQcm9kdWN0c0ZvckltcG9ydCA9XG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0RW5hYmxlZFByb2R1Y3RzRm9ySW1wb3J0XCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdEV4cG9zdXJlc0J5UmVtZWRpYXRpb25WMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cG9zdXJlc0J5UmVtZWRpYXRpb25WMiA9XG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0RXhwb3N1cmVzQnlSZW1lZGlhdGlvblYyXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdEZpbmRpbmdBZ2dyZWdhdG9ycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZpbmRpbmdBZ2dyZWdhdG9ycyA9IFwic2VjdXJpdHlodWI6TGlzdEZpbmRpbmdBZ2dyZWdhdG9yc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkxpc3RGcmVlVHJpYWxTdGF0dXNlc1YyICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RnJlZVRyaWFsU3RhdHVzZXNWMiA9XG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0RnJlZVRyaWFsU3RhdHVzZXNWMlwiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5aHViOkxpc3RJbnZpdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludml0YXRpb25zID0gXCJzZWN1cml0eWh1YjpMaXN0SW52aXRhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWh1YjpMaXN0TWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnMgPSBcInNlY3VyaXR5aHViOkxpc3RNZW1iZXJzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdE9yZ2FuaXphdGlvbkFkbWluQWNjb3VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzID1cblx0XHRcInNlY3VyaXR5aHViOkxpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdFNlY3VyaXR5Q29udHJvbERlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VjdXJpdHlDb250cm9sRGVmaW5pdGlvbnMgPVxuXHRcdFwic2VjdXJpdHlodWI6TGlzdFNlY3VyaXR5Q29udHJvbERlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlodWI6TGlzdFN0YW5kYXJkc0NvbnRyb2xBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zID1cblx0XHRcInNlY3VyaXR5aHViOkxpc3RTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlodWI6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwic2VjdXJpdHlodWI6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5aHViOlNlbmRGaW5kaW5nRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kRmluZGluZ0V2ZW50cyA9IFwic2VjdXJpdHlodWI6U2VuZEZpbmRpbmdFdmVudHNcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWh1YjpTZW5kSW5zaWdodEV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEluc2lnaHRFdmVudHMgPSBcInNlY3VyaXR5aHViOlNlbmRJbnNpZ2h0RXZlbnRzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOlN0YXJ0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvbiA9XG5cdFx0XCJzZWN1cml0eWh1YjpTdGFydENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpTdGFydENvbmZpZ3VyYXRpb25Qb2xpY3lEaXNhc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDb25maWd1cmF0aW9uUG9saWN5RGlzYXNzb2NpYXRpb24gPVxuXHRcdFwic2VjdXJpdHlodWI6U3RhcnRDb25maWd1cmF0aW9uUG9saWN5RGlzYXNzb2NpYXRpb25cIjtcblx0LyoqIFtUYWdnaW5nXSBzZWN1cml0eWh1YjpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcInNlY3VyaXR5aHViOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gc2VjdXJpdHlodWI6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwic2VjdXJpdHlodWI6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpVcGRhdGVBY3Rpb25UYXJnZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFjdGlvblRhcmdldCA9IFwic2VjdXJpdHlodWI6VXBkYXRlQWN0aW9uVGFyZ2V0XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOlVwZGF0ZUFnZ3JlZ2F0b3JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdncmVnYXRvclYyID0gXCJzZWN1cml0eWh1YjpVcGRhdGVBZ2dyZWdhdG9yVjJcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6VXBkYXRlQXV0b21hdGlvblJ1bGVWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXV0b21hdGlvblJ1bGVWMiA9IFwic2VjdXJpdHlodWI6VXBkYXRlQXV0b21hdGlvblJ1bGVWMlwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpVcGRhdGVDb25maWd1cmF0aW9uUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmF0aW9uUG9saWN5ID1cblx0XHRcInNlY3VyaXR5aHViOlVwZGF0ZUNvbmZpZ3VyYXRpb25Qb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6VXBkYXRlQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0b3IgPSBcInNlY3VyaXR5aHViOlVwZGF0ZUNvbm5lY3RvclwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpVcGRhdGVDb25uZWN0b3JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29ubmVjdG9yVjIgPSBcInNlY3VyaXR5aHViOlVwZGF0ZUNvbm5lY3RvclYyXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOlVwZGF0ZUZpbmRpbmdBZ2dyZWdhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGaW5kaW5nQWdncmVnYXRvciA9XG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVGaW5kaW5nQWdncmVnYXRvclwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWh1YjpVcGRhdGVGaW5kaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmluZGluZ3MgPSBcInNlY3VyaXR5aHViOlVwZGF0ZUZpbmRpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOlVwZGF0ZUluc2lnaHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluc2lnaHQgPSBcInNlY3VyaXR5aHViOlVwZGF0ZUluc2lnaHRcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6VXBkYXRlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOlVwZGF0ZVNlY3VyaXR5Q29udHJvbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VjdXJpdHlDb250cm9sID0gXCJzZWN1cml0eWh1YjpVcGRhdGVTZWN1cml0eUNvbnRyb2xcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlodWI6VXBkYXRlU2VjdXJpdHlIdWJDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZWN1cml0eUh1YkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwic2VjdXJpdHlodWI6VXBkYXRlU2VjdXJpdHlIdWJDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5aHViOlVwZGF0ZVN0YW5kYXJkc0NvbnRyb2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN0YW5kYXJkc0NvbnRyb2wgPSBcInNlY3VyaXR5aHViOlVwZGF0ZVN0YW5kYXJkc0NvbnRyb2xcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQmF0Y2hHZXRBdXRvbWF0aW9uUnVsZXMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkJhdGNoR2V0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9ucyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQmF0Y2hHZXRDb250cm9sRXZhbHVhdGlvbnMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkJhdGNoR2V0RW5hYmxlZFJlZ2lvbnNWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQmF0Y2hHZXRTZWN1cml0eUNvbnRyb2xzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5CYXRjaEdldFN0YW5kYXJkc0NvbnRyb2xBc3NvY2lhdGlvbnMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRlc2NyaWJlQWN0aW9uVGFyZ2V0cyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVzY3JpYmVIdWIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVzY3JpYmVQcm9kdWN0cyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVzY3JpYmVQcm9kdWN0c1YyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EZXNjcmliZVNlY3VyaXR5SHViVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRlc2NyaWJlU3RhbmRhcmRzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EZXNjcmliZVN0YW5kYXJkc0NvbnRyb2xzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRBZGhvY0luc2lnaHRSZXN1bHRzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRBZG1pbmlzdHJhdG9yQWNjb3VudCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0QWdncmVnYXRvclYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0aW9uUnVsZVYyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRDb25maWd1cmF0aW9uUG9saWN5LFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb24sXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldENvbm5lY3Rvcixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0Q29ubmVjdG9yVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldENvbnRyb2xGaW5kaW5nU3VtbWFyeSxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0Q292ZXJhZ2VTdGF0aXN0aWNzVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldEZpbmRpbmdBZ2dyZWdhdG9yLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRGaW5kaW5nSGlzdG9yeSxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0RmluZGluZ3MsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldEZpbmRpbmdzVHJlbmRzVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldEZyZWVUcmlhbEVuZERhdGUsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldEZyZWVUcmlhbFVzYWdlLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRJbnNpZ2h0RmluZGluZ1RyZW5kLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRJbnNpZ2h0UmVzdWx0cyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0SW52aXRhdGlvbnNDb3VudCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0TWFzdGVyQWNjb3VudCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0TWVtYmVycyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0UmVjb21tZW5kZWRQb2xpY3lWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0UmVtZWRpYXRpb25zVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlc1N0YXRpc3RpY3NWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VzVHJlbmRzVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlc1YyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRTZWN1cml0eUNvbnRyb2xEZWZpbml0aW9uLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5hY3Rpb25HZXRVc2FnZSxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuYWN0aW9uR2V0VXNhZ2VWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdENvbnRyb2xFdmFsdWF0aW9uU3VtbWFyaWVzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5TZW5kRmluZGluZ0V2ZW50cyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuU2VuZEluc2lnaHRFdmVudHMsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkFjY2VwdEFkbWluaXN0cmF0b3JJbnZpdGF0aW9uLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5BY2NlcHRJbnZpdGF0aW9uLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5CYXRjaERlbGV0ZUF1dG9tYXRpb25SdWxlcyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQmF0Y2hEaXNhYmxlU3RhbmRhcmRzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5CYXRjaEVuYWJsZVN0YW5kYXJkcyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQmF0Y2hJbXBvcnRGaW5kaW5ncyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQmF0Y2hVcGRhdGVBdXRvbWF0aW9uUnVsZXMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkJhdGNoVXBkYXRlRmluZGluZ3MsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkJhdGNoVXBkYXRlU3RhbmRhcmRzQ29udHJvbEFzc29jaWF0aW9ucyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQ29ubmVjdG9yUmVnaXN0cmF0aW9uc1YyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5DcmVhdGVBY3Rpb25UYXJnZXQsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkNyZWF0ZUFnZ3JlZ2F0b3JWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQ3JlYXRlQXV0b21hdGlvblJ1bGUsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkNyZWF0ZUF1dG9tYXRpb25SdWxlVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkNyZWF0ZUNvbmZpZ3VyYXRpb25Qb2xpY3ksXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkNyZWF0ZUNvbm5lY3Rvcixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQ3JlYXRlQ29ubmVjdG9yVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkNyZWF0ZUZpbmRpbmdBZ2dyZWdhdG9yLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5DcmVhdGVJbnNpZ2h0LFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5DcmVhdGVNZW1iZXJzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5DcmVhdGVUaWNrZXRWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVjbGluZUludml0YXRpb25zLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EZWxldGVBY3Rpb25UYXJnZXQsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRlbGV0ZUFnZ3JlZ2F0b3JWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVsZXRlQXV0b21hdGlvblJ1bGVWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVsZXRlQ29uZmlndXJhdGlvblBvbGljeSxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVsZXRlQ29ubmVjdG9yLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EZWxldGVDb25uZWN0b3JWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGVsZXRlRmluZGluZ0FnZ3JlZ2F0b3IsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRlbGV0ZUluc2lnaHQsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRlbGV0ZUludml0YXRpb25zLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EZWxldGVNZW1iZXJzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EaXNhYmxlSW1wb3J0RmluZGluZ3NGb3JQcm9kdWN0LFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EaXNhYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50LFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5EaXNhYmxlU2VjdXJpdHlIdWIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRpc2FibGVTZWN1cml0eUh1YkZlYXR1cmVWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGlzYWJsZVNlY3VyaXR5SHViVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRpc2Fzc29jaWF0ZUZyb21BZG1pbmlzdHJhdG9yQWNjb3VudCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRGlzYXNzb2NpYXRlRnJvbU1hc3RlckFjY291bnQsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkRpc2Fzc29jaWF0ZU1lbWJlcnMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkVuYWJsZUltcG9ydEZpbmRpbmdzRm9yUHJvZHVjdCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRW5hYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50LFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5FbmFibGVTZWN1cml0eUh1Yixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuRW5hYmxlU2VjdXJpdHlIdWJGZWF0dXJlVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkVuYWJsZVNlY3VyaXR5SHViVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkdlbmVyYXRlUmVjb21tZW5kZWRQb2xpY3lWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuSW52aXRlTWVtYmVycyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuU3RhcnRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb24sXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLlN0YXJ0Q29uZmlndXJhdGlvblBvbGljeURpc2Fzc29jaWF0aW9uLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5VcGRhdGVBY3Rpb25UYXJnZXQsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLlVwZGF0ZUFnZ3JlZ2F0b3JWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuVXBkYXRlQXV0b21hdGlvblJ1bGVWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuVXBkYXRlQ29uZmlndXJhdGlvblBvbGljeSxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuVXBkYXRlQ29ubmVjdG9yLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5VcGRhdGVDb25uZWN0b3JWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuVXBkYXRlRmluZGluZ0FnZ3JlZ2F0b3IsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLlVwZGF0ZUZpbmRpbmdzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5VcGRhdGVJbnNpZ2h0LFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5VcGRhdGVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5VcGRhdGVTZWN1cml0eUNvbnRyb2wsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLlVwZGF0ZVNlY3VyaXR5SHViQ29uZmlndXJhdGlvbixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuVXBkYXRlU3RhbmRhcmRzQ29udHJvbCxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldEVuYWJsZWRTdGFuZGFyZHMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLmFjdGlvbkdldEluc2lnaHRzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5MaXN0QWNjb3VudFVzYWdlVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkxpc3RBZ2dyZWdhdG9yc1YyLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5MaXN0QXV0b21hdGlvblJ1bGVzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5MaXN0QXV0b21hdGlvblJ1bGVzVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkxpc3RDb25maWd1cmF0aW9uUG9saWNpZXMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkxpc3RDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25zLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5MaXN0Q29ubmVjdG9ycyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdENvbm5lY3RvcnNWMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdEVuYWJsZWRQcm9kdWN0c0ZvckltcG9ydCxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdEV4cG9zdXJlc0J5UmVtZWRpYXRpb25WMixcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdEZpbmRpbmdBZ2dyZWdhdG9ycyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdEZyZWVUcmlhbFN0YXR1c2VzVjIsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkxpc3RJbnZpdGF0aW9ucyxcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuTGlzdE1lbWJlcnMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkxpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzLFxuXHRcdFNlY3VyaXR5SHViQWN0aW9ucy5MaXN0U2VjdXJpdHlDb250cm9sRGVmaW5pdGlvbnMsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLkxpc3RTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTZWN1cml0eUh1YkFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0U2VjdXJpdHlIdWJBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhZ2dyZWdhdG9ydjIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViQWdncmVnYXRvcnYyQXJuUHJvcHMge1xuXHQvKiogVGhlIEFnZ3JlZ2F0b3JWMklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2dyZWdhdG9yVjJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFnZ3JlZ2F0b3J2MiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJBZ2dyZWdhdG9ydjJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZ3JlZ2F0b3JWMklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWdncmVnYXRvclYySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGF1dG9tYXRpb24tcnVsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJBdXRvbWF0aW9uUnVsZUFyblByb3BzIHtcblx0LyoqIFRoZSBBdXRvbWF0aW9uUnVsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvbWF0aW9uUnVsZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXV0b21hdGlvbi1ydWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1YkF1dG9tYXRpb25SdWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBdXRvbWF0aW9uUnVsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGlvblJ1bGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXV0b21hdGlvbi1ydWxldjIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViQXV0b21hdGlvblJ1bGV2MkFyblByb3BzIHtcblx0LyoqIFRoZSBBdXRvbWF0aW9uUnVsZVYySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9tYXRpb25SdWxlVjJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGF1dG9tYXRpb24tcnVsZXYyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1YkF1dG9tYXRpb25SdWxldjJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRpb25SdWxlVjJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGF1dG9tYXRpb25SdWxlVjJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29uZmlndXJhdGlvbi1wb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViQ29uZmlndXJhdGlvblBvbGljeUFyblByb3BzIHtcblx0LyoqIFRoZSBDb25maWd1cmF0aW9uUG9saWN5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25Qb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbmZpZ3VyYXRpb24tcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1YkNvbmZpZ3VyYXRpb25Qb2xpY3lBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbmZpZ3VyYXRpb25Qb2xpY3lJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25Qb2xpY3lJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29ubmVjdG9yIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1YkNvbm5lY3RvckFyblByb3BzIHtcblx0LyoqIFRoZSBDb25uZWN0b3JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29ubmVjdG9ySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb25uZWN0b3IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViQ29ubmVjdG9yQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb25uZWN0b3JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbm5lY3RvcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb25uZWN0b3J2MiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJDb25uZWN0b3J2MkFyblByb3BzIHtcblx0LyoqIFRoZSBDb25uZWN0b3JWMklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25uZWN0b3JWMklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29ubmVjdG9ydjIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViQ29ubmVjdG9ydjJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbm5lY3RvclYySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25uZWN0b3JWMklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmaW5kaW5nLWFnZ3JlZ2F0b3IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViRmluZGluZ0FnZ3JlZ2F0b3JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRmluZGluZ0FnZ3JlZ2F0b3JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmluZGluZ0FnZ3JlZ2F0b3JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZpbmRpbmctYWdncmVnYXRvciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJGaW5kaW5nQWdncmVnYXRvckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRmluZGluZ0FnZ3JlZ2F0b3JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZpbmRpbmdBZ2dyZWdhdG9ySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh1YiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJIdWJBcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHViIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1Ykh1YkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBodWJ2MiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJIdWJ2MkFyblByb3BzIHtcblx0LyoqIFRoZSBIdWJWMklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodWJWMklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHVidjIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SHViSHVidjJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh1YlYySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodWJWMklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcm9kdWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUh1YlByb2R1Y3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29tcGFueSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29tcGFueTogc3RyaW5nO1xuXHQvKiogVGhlIFByb2R1Y3RJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvZHVjdElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvZHVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIdWJQcm9kdWN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb21wYW55IGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29tcGFueTogc3RyaW5nO1xuXHQvKiogVGhlIFByb2R1Y3RJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb2R1Y3RJZDogc3RyaW5nO1xufVxuXG5jb25zdCBBZ2dyZWdhdG9ydjJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2dyZWdhdG9ydjJcXC8oPzxhZ2dyZWdhdG9yVjJJZD5bXjovP10rKSQvO1xuY29uc3QgQXV0b21hdGlvblJ1bGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphdXRvbWF0aW9uLXJ1bGVcXC8oPzxhdXRvbWF0aW9uUnVsZUlkPlteOi8/XSspJC87XG5jb25zdCBBdXRvbWF0aW9uUnVsZXYyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNlY3VyaXR5aHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXV0b21hdGlvbi1ydWxldjJcXC8oPzxhdXRvbWF0aW9uUnVsZVYySWQ+W146Lz9dKykkLztcbmNvbnN0IENvbmZpZ3VyYXRpb25Qb2xpY3lBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25maWd1cmF0aW9uLXBvbGljeVxcLyg/PGNvbmZpZ3VyYXRpb25Qb2xpY3lJZD5bXjovP10rKSQvO1xuY29uc3QgQ29ubmVjdG9yQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNlY3VyaXR5aHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29ubmVjdG9yXFwvKD88Y29ubmVjdG9ySWQ+W146Lz9dKykkLztcbmNvbnN0IENvbm5lY3RvcnYyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNlY3VyaXR5aHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29ubmVjdG9ydjJcXC8oPzxjb25uZWN0b3JWMklkPlteOi8/XSspJC87XG5jb25zdCBGaW5kaW5nQWdncmVnYXRvckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzZWN1cml0eWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmZpbmRpbmctYWdncmVnYXRvclxcLyg/PGZpbmRpbmdBZ2dyZWdhdG9ySWQ+W146Lz9dKykkLztcbmNvbnN0IEh1YkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzZWN1cml0eWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh1YlxcL2RlZmF1bHQkLztcbmNvbnN0IEh1YnYyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNlY3VyaXR5aHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHVidjJcXC8oPzxodWJWMklkPlteOi8/XSspJC87XG5jb25zdCBQcm9kdWN0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNlY3VyaXR5aHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvZHVjdFxcLyg/PGNvbXBhbnk+W146Lz9dKylcXC8oPzxwcm9kdWN0SWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBzZWN1cml0eWh1YiByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWN1cml0eUh1YlJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWdncmVnYXRvcnYyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFnZ3JlZ2F0b3J2Mihwcm9wczogU2VjdXJpdHlIdWJBZ2dyZWdhdG9ydjJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWdncmVnYXRvcnYyLyR7cHJvcHMuYWdncmVnYXRvclYySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFnZ3JlZ2F0b3J2MiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWdncmVnYXRvcnYyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFnZ3JlZ2F0b3J2MkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhZ2dyZWdhdG9ydjIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWdncmVnYXRvcnYyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTZWN1cml0eUh1YkFnZ3JlZ2F0b3J2MkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWdncmVnYXRvcnYyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFnZ3JlZ2F0b3J2MiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhZ2dyZWdhdG9yVjJJZDogbWF0Y2guZ3JvdXBzIS5hZ2dyZWdhdG9yVjJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhdXRvbWF0aW9uLXJ1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b21hdGlvblJ1bGUocHJvcHM6IFNlY3VyaXR5SHViQXV0b21hdGlvblJ1bGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXV0b21hdGlvbi1ydWxlLyR7cHJvcHMuYXV0b21hdGlvblJ1bGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXV0b21hdGlvbi1ydWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBdXRvbWF0aW9uUnVsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBdXRvbWF0aW9uUnVsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhdXRvbWF0aW9uLXJ1bGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXV0b21hdGlvblJ1bGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNlY3VyaXR5SHViQXV0b21hdGlvblJ1bGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEF1dG9tYXRpb25SdWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGF1dG9tYXRpb24tcnVsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhdXRvbWF0aW9uUnVsZUlkOiBtYXRjaC5ncm91cHMhLmF1dG9tYXRpb25SdWxlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXV0b21hdGlvbi1ydWxldjIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b21hdGlvblJ1bGV2Mihwcm9wczogU2VjdXJpdHlIdWJBdXRvbWF0aW9uUnVsZXYyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNlY3VyaXR5aHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmF1dG9tYXRpb24tcnVsZXYyLyR7cHJvcHMuYXV0b21hdGlvblJ1bGVWMklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhdXRvbWF0aW9uLXJ1bGV2MiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXV0b21hdGlvblJ1bGV2MkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBdXRvbWF0aW9uUnVsZXYyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGF1dG9tYXRpb24tcnVsZXYyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUF1dG9tYXRpb25SdWxldjJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNlY3VyaXR5SHViQXV0b21hdGlvblJ1bGV2MkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXV0b21hdGlvblJ1bGV2MkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhdXRvbWF0aW9uLXJ1bGV2MiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhdXRvbWF0aW9uUnVsZVYySWQ6IG1hdGNoLmdyb3VwcyEuYXV0b21hdGlvblJ1bGVWMklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbmZpZ3VyYXRpb24tcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbmZpZ3VyYXRpb25Qb2xpY3koXG5cdFx0cHJvcHM6IFNlY3VyaXR5SHViQ29uZmlndXJhdGlvblBvbGljeUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNlY3VyaXR5aHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbmZpZ3VyYXRpb24tcG9saWN5LyR7cHJvcHMuY29uZmlndXJhdGlvblBvbGljeUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb25maWd1cmF0aW9uLXBvbGljeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29uZmlndXJhdGlvblBvbGljeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uUG9saWN5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbmZpZ3VyYXRpb24tcG9saWN5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbmZpZ3VyYXRpb25Qb2xpY3lBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNlY3VyaXR5SHViQ29uZmlndXJhdGlvblBvbGljeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29uZmlndXJhdGlvblBvbGljeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25maWd1cmF0aW9uLXBvbGljeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb25maWd1cmF0aW9uUG9saWN5SWQ6IG1hdGNoLmdyb3VwcyEuY29uZmlndXJhdGlvblBvbGljeUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbm5lY3RvciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25uZWN0b3IocHJvcHM6IFNlY3VyaXR5SHViQ29ubmVjdG9yQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNlY3VyaXR5aHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbm5lY3Rvci8ke3Byb3BzLmNvbm5lY3RvcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb25uZWN0b3IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbm5lY3RvckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25uZWN0b3JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29ubmVjdG9yIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbm5lY3RvckFybihhcm46IHN0cmluZyk6IFNlY3VyaXR5SHViQ29ubmVjdG9yQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25uZWN0b3JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29ubmVjdG9yIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbm5lY3RvcklkOiBtYXRjaC5ncm91cHMhLmNvbm5lY3RvcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbm5lY3RvcnYyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbm5lY3RvcnYyKHByb3BzOiBTZWN1cml0eUh1YkNvbm5lY3RvcnYyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNlY3VyaXR5aHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbm5lY3RvcnYyLyR7cHJvcHMuY29ubmVjdG9yVjJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29ubmVjdG9ydjIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbm5lY3RvcnYyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbm5lY3RvcnYyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbm5lY3RvcnYyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbm5lY3RvcnYyQXJuKGFybjogc3RyaW5nKTogU2VjdXJpdHlIdWJDb25uZWN0b3J2MkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29ubmVjdG9ydjJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29ubmVjdG9ydjIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29ubmVjdG9yVjJJZDogbWF0Y2guZ3JvdXBzIS5jb25uZWN0b3JWMklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGZpbmRpbmctYWdncmVnYXRvciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmaW5kaW5nQWdncmVnYXRvcihcblx0XHRwcm9wczogU2VjdXJpdHlIdWJGaW5kaW5nQWdncmVnYXRvckFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNlY3VyaXR5aHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZpbmRpbmctYWdncmVnYXRvci8ke3Byb3BzLmZpbmRpbmdBZ2dyZWdhdG9ySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZpbmRpbmctYWdncmVnYXRvciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmluZGluZ0FnZ3JlZ2F0b3JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmluZGluZ0FnZ3JlZ2F0b3JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmluZGluZy1hZ2dyZWdhdG9yIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZpbmRpbmdBZ2dyZWdhdG9yQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTZWN1cml0eUh1YkZpbmRpbmdBZ2dyZWdhdG9yQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGaW5kaW5nQWdncmVnYXRvckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmaW5kaW5nLWFnZ3JlZ2F0b3IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZmluZGluZ0FnZ3JlZ2F0b3JJZDogbWF0Y2guZ3JvdXBzIS5maW5kaW5nQWdncmVnYXRvcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGh1YiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBodWIocHJvcHM6IFNlY3VyaXR5SHViSHViQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNlY3VyaXR5aHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh1Yi9kZWZhdWx0YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGh1YiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHViQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEh1YkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBodWIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHViQXJuKGFybjogc3RyaW5nKTogU2VjdXJpdHlIdWJIdWJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEh1YkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBodWIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGh1YnYyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh1YnYyKHByb3BzOiBTZWN1cml0eUh1Ykh1YnYyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNlY3VyaXR5aHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh1YnYyLyR7cHJvcHMuaHViVjJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHVidjIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh1YnYyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEh1YnYyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh1YnYyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh1YnYyQXJuKGFybjogc3RyaW5nKTogU2VjdXJpdHlIdWJIdWJ2MkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHVidjJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaHVidjIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aHViVjJJZDogbWF0Y2guZ3JvdXBzIS5odWJWMklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb2R1Y3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvZHVjdChwcm9wczogU2VjdXJpdHlIdWJQcm9kdWN0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNlY3VyaXR5aHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb2R1Y3QvJHtwcm9wcy5jb21wYW55fS8ke3Byb3BzLnByb2R1Y3RJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvZHVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvZHVjdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9kdWN0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb2R1Y3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvZHVjdEFybihhcm46IHN0cmluZyk6IFNlY3VyaXR5SHViUHJvZHVjdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvZHVjdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9kdWN0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbXBhbnk6IG1hdGNoLmdyb3VwcyEuY29tcGFueSxcblx0XHRcdHByb2R1Y3RJZDogbWF0Y2guZ3JvdXBzIS5wcm9kdWN0SWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3Igc2VjdXJpdHlodWIuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWN1cml0eUh1Yk9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBY2NlcHRBZG1pbmlzdHJhdG9ySW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdEFkbWluaXN0cmF0b3JJbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkFjY2VwdEFkbWluaXN0cmF0b3JJbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFjY2VwdEludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRJbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkFjY2VwdEludml0YXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlQXV0b21hdGlvblJ1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVBdXRvbWF0aW9uUnVsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hEZWxldGVBdXRvbWF0aW9uUnVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEaXNhYmxlU3RhbmRhcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEaXNhYmxlU3RhbmRhcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkJhdGNoRGlzYWJsZVN0YW5kYXJkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEVuYWJsZVN0YW5kYXJkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRW5hYmxlU3RhbmRhcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkJhdGNoRW5hYmxlU3RhbmRhcmRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0QXV0b21hdGlvblJ1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRBdXRvbWF0aW9uUnVsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hHZXRBdXRvbWF0aW9uUnVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkJhdGNoR2V0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFNlY3VyaXR5Q29udHJvbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFNlY3VyaXR5Q29udHJvbHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hHZXRTZWN1cml0eUNvbnRyb2xzXCIsXG5cdFx0XCJzZWN1cml0eWh1YjpEZXNjcmliZVN0YW5kYXJkc0NvbnRyb2xzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0U3RhbmRhcmRzQ29udHJvbEFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0U3RhbmRhcmRzQ29udHJvbEFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpCYXRjaEdldFN0YW5kYXJkc0NvbnRyb2xBc3NvY2lhdGlvbnNcIixcblx0XHRcInNlY3VyaXR5aHViOkRlc2NyaWJlU3RhbmRhcmRzQ29udHJvbHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hJbXBvcnRGaW5kaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoSW1wb3J0RmluZGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6QmF0Y2hJbXBvcnRGaW5kaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaFVwZGF0ZUF1dG9tYXRpb25SdWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlQXV0b21hdGlvblJ1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkJhdGNoVXBkYXRlQXV0b21hdGlvblJ1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoVXBkYXRlRmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFVwZGF0ZUZpbmRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkJhdGNoVXBkYXRlRmluZGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hVcGRhdGVGaW5kaW5nc1YyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hVcGRhdGVGaW5kaW5nc1YyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkJhdGNoVXBkYXRlRmluZGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hVcGRhdGVTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hVcGRhdGVTdGFuZGFyZHNDb250cm9sQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkJhdGNoVXBkYXRlU3RhbmRhcmRzQ29udHJvbEFzc29jaWF0aW9uc1wiLFxuXHRcdFwic2VjdXJpdHlodWI6VXBkYXRlU3RhbmRhcmRzQ29udHJvbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBY3Rpb25UYXJnZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY3Rpb25UYXJnZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6Q3JlYXRlQWN0aW9uVGFyZ2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFnZ3JlZ2F0b3JWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZ3JlZ2F0b3JWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpDcmVhdGVBZ2dyZWdhdG9yVjJcIixcblx0XHRcInNlY3VyaXR5aHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9tYXRpb25SdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGlvblJ1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6Q3JlYXRlQXV0b21hdGlvblJ1bGVcIixcblx0XHRcInNlY3VyaXR5aHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9tYXRpb25SdWxlVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0aW9uUnVsZVYyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkNyZWF0ZUF1dG9tYXRpb25SdWxlVjJcIixcblx0XHRcInNlY3VyaXR5aHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbmZpZ3VyYXRpb25Qb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkNyZWF0ZUNvbmZpZ3VyYXRpb25Qb2xpY3lcIixcblx0XHRcInNlY3VyaXR5aHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpDcmVhdGVDb25uZWN0b3JcIixcblx0XHRcInNlY3VyaXR5aHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbm5lY3RvclYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdG9yVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6Q3JlYXRlQ29ubmVjdG9yVjJcIixcblx0XHRcInNlY3VyaXR5aHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUZpbmRpbmdBZ2dyZWdhdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmluZGluZ0FnZ3JlZ2F0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6Q3JlYXRlRmluZGluZ0FnZ3JlZ2F0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5zaWdodCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluc2lnaHQ6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6Q3JlYXRlSW5zaWdodFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1lbWJlcnM6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6Q3JlYXRlTWVtYmVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVGlja2V0VjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUaWNrZXRWMjogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpDcmVhdGVUaWNrZXRWMlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVjbGluZUludml0YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjbGluZUludml0YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRlY2xpbmVJbnZpdGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBY3Rpb25UYXJnZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY3Rpb25UYXJnZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGVsZXRlQWN0aW9uVGFyZ2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZ3JlZ2F0b3JWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZ3JlZ2F0b3JWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEZWxldGVBZ2dyZWdhdG9yVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXV0b21hdGlvblJ1bGVWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRpb25SdWxlVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGVsZXRlQXV0b21hdGlvblJ1bGVWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb25maWd1cmF0aW9uUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJhdGlvblBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEZWxldGVDb25maWd1cmF0aW9uUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3Rvcjogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpEZWxldGVDb25uZWN0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbm5lY3RvclYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29ubmVjdG9yVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGVsZXRlQ29ubmVjdG9yVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRmluZGluZ0FnZ3JlZ2F0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGaW5kaW5nQWdncmVnYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEZWxldGVGaW5kaW5nQWdncmVnYXRvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbnNpZ2h0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5zaWdodDogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpEZWxldGVJbnNpZ2h0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbnZpdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUludml0YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRlbGV0ZUludml0YXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1lbWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZW1iZXJzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkRlbGV0ZU1lbWJlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWN0aW9uVGFyZ2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWN0aW9uVGFyZ2V0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEZXNjcmliZUFjdGlvblRhcmdldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1Yjogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpEZXNjcmliZUh1YlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByb2R1Y3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcm9kdWN0czogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpEZXNjcmliZVByb2R1Y3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByb2R1Y3RzVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2R1Y3RzVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGVzY3JpYmVQcm9kdWN0c1YyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2VjdXJpdHlIdWJWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VjdXJpdHlIdWJWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEZXNjcmliZVNlY3VyaXR5SHViVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTdGFuZGFyZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0YW5kYXJkczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEZXNjcmliZVN0YW5kYXJkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN0YW5kYXJkc0NvbnRyb2xzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdGFuZGFyZHNDb250cm9sczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEZXNjcmliZVN0YW5kYXJkc0NvbnRyb2xzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVJbXBvcnRGaW5kaW5nc0ZvclByb2R1Y3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlSW1wb3J0RmluZGluZ3NGb3JQcm9kdWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkRpc2FibGVJbXBvcnRGaW5kaW5nc0ZvclByb2R1Y3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGlzYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhYmxlU2VjdXJpdHlIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlU2VjdXJpdHlIdWI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGlzYWJsZVNlY3VyaXR5SHViXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVTZWN1cml0eUh1YkZlYXR1cmVWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVTZWN1cml0eUh1YkZlYXR1cmVWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEaXNhYmxlU2VjdXJpdHlIdWJGZWF0dXJlVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYWJsZVNlY3VyaXR5SHViVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlU2VjdXJpdHlIdWJWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEaXNhYmxlU2VjdXJpdHlIdWJWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVGcm9tQWRtaW5pc3RyYXRvckFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVGcm9tQWRtaW5pc3RyYXRvckFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGlzYXNzb2NpYXRlRnJvbUFkbWluaXN0cmF0b3JBY2NvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUZyb21NYXN0ZXJBY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlRnJvbU1hc3RlckFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGlzYXNzb2NpYXRlRnJvbU1hc3RlckFjY291bnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlTWVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU1lbWJlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RGlzYXNzb2NpYXRlTWVtYmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVJbXBvcnRGaW5kaW5nc0ZvclByb2R1Y3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVJbXBvcnRGaW5kaW5nc0ZvclByb2R1Y3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6RW5hYmxlSW1wb3J0RmluZGluZ3NGb3JQcm9kdWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpFbmFibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRW5hYmxlU2VjdXJpdHlIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVTZWN1cml0eUh1Yjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpFbmFibGVTZWN1cml0eUh1YlwiLFxuXHRcdFwic2VjdXJpdHlodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRW5hYmxlU2VjdXJpdHlIdWJGZWF0dXJlVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVTZWN1cml0eUh1YkZlYXR1cmVWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpFbmFibGVTZWN1cml0eUh1YkZlYXR1cmVWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVTZWN1cml0eUh1YlYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlU2VjdXJpdHlIdWJWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpFbmFibGVTZWN1cml0eUh1YlYyXCIsXG5cdFx0XCJzZWN1cml0eWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZW5lcmF0ZVJlY29tbWVuZGVkUG9saWN5VjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZVJlY29tbWVuZGVkUG9saWN5VjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6R2VuZXJhdGVSZWNvbW1lbmRlZFBvbGljeVYyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFkbWluaXN0cmF0b3JBY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZG1pbmlzdHJhdG9yQWNjb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpHZXRBZG1pbmlzdHJhdG9yQWNjb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2dyZWdhdG9yVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZ3JlZ2F0b3JWMjogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpHZXRBZ2dyZWdhdG9yVjJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRpb25SdWxlVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRpb25SdWxlVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6R2V0QXV0b21hdGlvblJ1bGVWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25maWd1cmF0aW9uUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25maWd1cmF0aW9uUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkdldENvbmZpZ3VyYXRpb25Qb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25maWd1cmF0aW9uUG9saWN5QXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6R2V0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkdldENvbm5lY3RvclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29ubmVjdG9yVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbm5lY3RvclYyOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkdldENvbm5lY3RvclYyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFbmFibGVkU3RhbmRhcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFbmFibGVkU3RhbmRhcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkdldEVuYWJsZWRTdGFuZGFyZHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmluZGluZ0FnZ3JlZ2F0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZpbmRpbmdBZ2dyZWdhdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkdldEZpbmRpbmdBZ2dyZWdhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZpbmRpbmdIaXN0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGaW5kaW5nSGlzdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpHZXRGaW5kaW5nSGlzdG9yeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRGaW5kaW5nU3RhdGlzdGljc1YyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGaW5kaW5nU3RhdGlzdGljc1YyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkdldEFkaG9jSW5zaWdodFJlc3VsdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZpbmRpbmdzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkdldEZpbmRpbmdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRGaW5kaW5nc1RyZW5kc1YyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGaW5kaW5nc1RyZW5kc1YyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkdldEZpbmRpbmdzVHJlbmRzVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmluZGluZ3NWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RmluZGluZ3NWMjogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpHZXRGaW5kaW5nc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5zaWdodFJlc3VsdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluc2lnaHRSZXN1bHRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkdldEluc2lnaHRSZXN1bHRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEluc2lnaHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbnNpZ2h0czogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpHZXRJbnNpZ2h0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW52aXRhdGlvbnNDb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW52aXRhdGlvbnNDb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpHZXRJbnZpdGF0aW9uc0NvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1hc3RlckFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hc3RlckFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6R2V0TWFzdGVyQWNjb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNZW1iZXJzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkdldE1lbWJlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY29tbWVuZGVkUG9saWN5VjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY29tbWVuZGVkUG9saWN5VjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6R2V0UmVjb21tZW5kZWRQb2xpY3lWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXNvdXJjZXNTdGF0aXN0aWNzVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlc1N0YXRpc3RpY3NWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpHZXRSZXNvdXJjZXNTdGF0aXN0aWNzVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VzVHJlbmRzVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlc1RyZW5kc1YyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkdldFJlc291cmNlc1RyZW5kc1YyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlc1YyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZXNWMjogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpHZXRSZXNvdXJjZXNWMlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VjdXJpdHlDb250cm9sRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VjdXJpdHlDb250cm9sRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpHZXRTZWN1cml0eUNvbnRyb2xEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludml0ZU1lbWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZpdGVNZW1iZXJzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkludml0ZU1lbWJlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2dyZWdhdG9yc1YyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZ3JlZ2F0b3JzVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6TGlzdEFnZ3JlZ2F0b3JzVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF1dG9tYXRpb25SdWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0aW9uUnVsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6TGlzdEF1dG9tYXRpb25SdWxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b21hdGlvblJ1bGVzVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGlvblJ1bGVzVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6TGlzdEF1dG9tYXRpb25SdWxlc1YyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25maWd1cmF0aW9uUG9saWNpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJhdGlvblBvbGljaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkxpc3RDb25maWd1cmF0aW9uUG9saWNpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29ubmVjdG9ycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0b3JzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkxpc3RDb25uZWN0b3JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29ubmVjdG9yc1YyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3RvcnNWMjogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpMaXN0Q29ubmVjdG9yc1YyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5hYmxlZFByb2R1Y3RzRm9ySW1wb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuYWJsZWRQcm9kdWN0c0ZvckltcG9ydDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0RW5hYmxlZFByb2R1Y3RzRm9ySW1wb3J0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGaW5kaW5nQWdncmVnYXRvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmluZGluZ0FnZ3JlZ2F0b3JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkxpc3RGaW5kaW5nQWdncmVnYXRvcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZyZWVUcmlhbFN0YXR1c2VzVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RnJlZVRyaWFsU3RhdHVzZXNWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0RnJlZVRyaWFsU3RhdHVzZXNWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW52aXRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52aXRhdGlvbnM6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6TGlzdEludml0YXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZW1iZXJzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5aHViOkxpc3RNZW1iZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0T3JnYW5pemF0aW9uQWRtaW5BY2NvdW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkxpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZWN1cml0eUNvbnRyb2xEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZWN1cml0eUNvbnRyb2xEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0U2VjdXJpdHlDb250cm9sRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN0YW5kYXJkc0NvbnRyb2xBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RhbmRhcmRzQ29udHJvbEFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpEZXNjcmliZVN0YW5kYXJkc0NvbnRyb2xzXCIsXG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0U3RhbmRhcmRzQ29udHJvbEFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyQ29ubmVjdG9yVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckNvbm5lY3RvclYyOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydENvbmZpZ3VyYXRpb25Qb2xpY3lBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOlN0YXJ0Q29uZmlndXJhdGlvblBvbGljeUFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Q29uZmlndXJhdGlvblBvbGljeURpc2Fzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDb25maWd1cmF0aW9uUG9saWN5RGlzYXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6U3RhcnRDb25maWd1cmF0aW9uUG9saWN5RGlzYXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWN0aW9uVGFyZ2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWN0aW9uVGFyZ2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOlVwZGF0ZUFjdGlvblRhcmdldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBZ2dyZWdhdG9yVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2dyZWdhdG9yVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6VXBkYXRlQWdncmVnYXRvclYyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUF1dG9tYXRpb25SdWxlVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0aW9uUnVsZVYyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOlVwZGF0ZUF1dG9tYXRpb25SdWxlVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29uZmlndXJhdGlvblBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbmZpZ3VyYXRpb25Qb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6VXBkYXRlQ29uZmlndXJhdGlvblBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0b3I6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6VXBkYXRlQ29ubmVjdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25uZWN0b3JWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3RvclYyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOlVwZGF0ZUNvbm5lY3RvclYyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZpbmRpbmdBZ2dyZWdhdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmluZGluZ0FnZ3JlZ2F0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6VXBkYXRlRmluZGluZ0FnZ3JlZ2F0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGaW5kaW5nczogc3RyaW5nW10gPSBbXCJzZWN1cml0eWh1YjpVcGRhdGVGaW5kaW5nc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW5zaWdodCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluc2lnaHQ6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlodWI6VXBkYXRlSW5zaWdodFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6VXBkYXRlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTZWN1cml0eUNvbnRyb2wgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZWN1cml0eUNvbnRyb2w6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6VXBkYXRlU2VjdXJpdHlDb250cm9sXCIsXG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVTdGFuZGFyZHNDb250cm9sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNlY3VyaXR5SHViQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlY3VyaXR5SHViQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpVcGRhdGVTZWN1cml0eUh1YkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU3RhbmRhcmRzQ29udHJvbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN0YW5kYXJkc0NvbnRyb2w6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlodWI6VXBkYXRlU3RhbmRhcmRzQ29udHJvbFwiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3Igc2VjdXJpdHlodWIuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWN1cml0eUh1YkNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQmF0Y2hJbXBvcnRGaW5kaW5ncyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEltcG9ydEZpbmRpbmdzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWh1YjpUYXJnZXRBY2NvdW50XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBCYXRjaFVwZGF0ZUZpbmRpbmdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlRmluZGluZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5aHViOkFTRkZTeW50YXhQYXRoLyR7QVNGRlN5bnRheFBhdGh9XCIsXG5cdFx0XCJzZWN1cml0eWh1YjpPQ1NGU3ludGF4UGF0aC8ke09DU0ZTeW50YXhQYXRofVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXV0b21hdGlvblJ1bGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGlvblJ1bGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUF1dG9tYXRpb25SdWxlVjIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGlvblJ1bGVWMkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29uZmlndXJhdGlvblBvbGljeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uUG9saWN5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb25uZWN0b3IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdG9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb25uZWN0b3JWMiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0b3JWMkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRW5hYmxlU2VjdXJpdHlIdWIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlU2VjdXJpdHlIdWJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEVuYWJsZVNlY3VyaXR5SHViVjIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlU2VjdXJpdHlIdWJWMkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNlY3VyaXR5aHViOkFTRkZTeW50YXhQYXRoLyR7QVNGRlN5bnRheFBhdGh9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBU0ZGX1NZTlRBWF9QQVRIID1cblx0XHRcInNlY3VyaXR5aHViOkFTRkZTeW50YXhQYXRoLyR7QVNGRlN5bnRheFBhdGh9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzZWN1cml0eWh1YjpPQ1NGU3ludGF4UGF0aC8ke09DU0ZTeW50YXhQYXRofSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT0NTRl9TWU5UQVhfUEFUSCA9XG5cdFx0XCJzZWN1cml0eWh1YjpPQ1NGU3ludGF4UGF0aC8ke09DU0ZTeW50YXhQYXRofVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2VjdXJpdHlodWI6VGFyZ2V0QWNjb3VudCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFSR0VUX0FDQ09VTlQgPSBcInNlY3VyaXR5aHViOlRhcmdldEFjY291bnRcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2VjdXJpdHlodWI6QVNGRlN5bnRheFBhdGgvJHtBU0ZGU3ludGF4UGF0aH1gLlxuXHQgKi9cblx0c3RhdGljIGFzZmZTeW50YXhQYXRoKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczogeyBcInNlY3VyaXR5aHViOkFTRkZTeW50YXhQYXRoLyR7QVNGRlN5bnRheFBhdGh9XCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzZWN1cml0eWh1YjpPQ1NGU3ludGF4UGF0aC8ke09DU0ZTeW50YXhQYXRofWAuXG5cdCAqL1xuXHRzdGF0aWMgb2NzZlN5bnRheFBhdGgodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwic2VjdXJpdHlodWI6T0NTRlN5bnRheFBhdGgvJHtPQ1NGU3ludGF4UGF0aH1cIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNlY3VyaXR5aHViOlRhcmdldEFjY291bnRgLlxuXHQgKi9cblx0c3RhdGljIHRhcmdldEFjY291bnQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzZWN1cml0eWh1YjpUYXJnZXRBY2NvdW50XCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19