@cdk_utils/iam 1.25.0 → 1.26.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 (461) hide show
  1. package/.jsii +2 -2
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +4 -4
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +10 -6
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +4 -4
  64. package/lib/generated/services/bedrock-mantle.js +3 -3
  65. package/lib/generated/services/bedrock-websearch.js +2 -2
  66. package/lib/generated/services/bedrock.js +4 -4
  67. package/lib/generated/services/billing.js +4 -4
  68. package/lib/generated/services/billingconductor.js +4 -4
  69. package/lib/generated/services/braket.js +4 -4
  70. package/lib/generated/services/budgets.js +4 -4
  71. package/lib/generated/services/bugbust.js +3 -3
  72. package/lib/generated/services/cases.js +4 -4
  73. package/lib/generated/services/cassandra.js +4 -4
  74. package/lib/generated/services/ce.js +4 -4
  75. package/lib/generated/services/chatbot.js +4 -4
  76. package/lib/generated/services/chime.js +4 -4
  77. package/lib/generated/services/cleanrooms-ml.js +4 -4
  78. package/lib/generated/services/cleanrooms.js +4 -4
  79. package/lib/generated/services/cloud9.js +4 -4
  80. package/lib/generated/services/clouddirectory.js +3 -3
  81. package/lib/generated/services/cloudformation.js +4 -4
  82. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  83. package/lib/generated/services/cloudfront.js +4 -4
  84. package/lib/generated/services/cloudhsm.js +4 -4
  85. package/lib/generated/services/cloudsearch.js +3 -3
  86. package/lib/generated/services/cloudshell.js +3 -3
  87. package/lib/generated/services/cloudtrail-data.js +4 -4
  88. package/lib/generated/services/cloudtrail.js +4 -4
  89. package/lib/generated/services/cloudwatch.js +4 -4
  90. package/lib/generated/services/codeartifact.js +4 -4
  91. package/lib/generated/services/codebuild.js +4 -4
  92. package/lib/generated/services/codecatalyst.js +4 -4
  93. package/lib/generated/services/codecommit.js +4 -4
  94. package/lib/generated/services/codeconnections.js +4 -4
  95. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  96. package/lib/generated/services/codedeploy.js +4 -4
  97. package/lib/generated/services/codeguru-profiler.js +4 -4
  98. package/lib/generated/services/codeguru-reviewer.js +4 -4
  99. package/lib/generated/services/codeguru-security.js +4 -4
  100. package/lib/generated/services/codeguru.js +1 -1
  101. package/lib/generated/services/codepipeline.js +4 -4
  102. package/lib/generated/services/codestar-connections.js +4 -4
  103. package/lib/generated/services/codestar-notifications.js +4 -4
  104. package/lib/generated/services/codestar.js +3 -3
  105. package/lib/generated/services/codewhisperer.js +3 -3
  106. package/lib/generated/services/cognito-identity.js +4 -4
  107. package/lib/generated/services/cognito-idp.js +4 -4
  108. package/lib/generated/services/cognito-sync.js +3 -3
  109. package/lib/generated/services/comprehend.js +4 -4
  110. package/lib/generated/services/comprehendmedical.js +3 -3
  111. package/lib/generated/services/compute-optimizer.js +3 -3
  112. package/lib/generated/services/config.js +4 -4
  113. package/lib/generated/services/connect-campaigns.js +4 -4
  114. package/lib/generated/services/connect.js +4 -4
  115. package/lib/generated/services/consoleapp.js +2 -2
  116. package/lib/generated/services/consolidatedbilling.js +1 -1
  117. package/lib/generated/services/controlcatalog.js +3 -3
  118. package/lib/generated/services/controltower.js +4 -4
  119. package/lib/generated/services/cost-optimization-hub.js +2 -2
  120. package/lib/generated/services/cur.js +4 -4
  121. package/lib/generated/services/customer-verification.js +1 -1
  122. package/lib/generated/services/databrew.js +4 -4
  123. package/lib/generated/services/dataexchange.js +4 -4
  124. package/lib/generated/services/datapipeline.js +4 -4
  125. package/lib/generated/services/datasync.js +4 -4
  126. package/lib/generated/services/datazone.js +4 -4
  127. package/lib/generated/services/dax.js +4 -4
  128. package/lib/generated/services/dbqms.js +1 -1
  129. package/lib/generated/services/deadline.js +4 -4
  130. package/lib/generated/services/detective.js +4 -4
  131. package/lib/generated/services/devicefarm.js +4 -4
  132. package/lib/generated/services/devops-guru.js +4 -4
  133. package/lib/generated/services/directconnect.js +9 -6
  134. package/lib/generated/services/discovery.js +3 -3
  135. package/lib/generated/services/dlm.js +4 -4
  136. package/lib/generated/services/dms.js +4 -4
  137. package/lib/generated/services/docdb-elastic.js +4 -4
  138. package/lib/generated/services/drs.js +4 -4
  139. package/lib/generated/services/ds-data.js +4 -4
  140. package/lib/generated/services/ds.js +4 -4
  141. package/lib/generated/services/dsql.js +4 -4
  142. package/lib/generated/services/dynamodb.js +4 -4
  143. package/lib/generated/services/ebs.js +4 -4
  144. package/lib/generated/services/ec2-instance-connect.js +4 -4
  145. package/lib/generated/services/ec2.js +4 -4
  146. package/lib/generated/services/ec2messages.js +2 -2
  147. package/lib/generated/services/ecr-public.js +4 -4
  148. package/lib/generated/services/ecr.js +4 -4
  149. package/lib/generated/services/ecs-mcp.js +1 -1
  150. package/lib/generated/services/ecs.js +4 -4
  151. package/lib/generated/services/eks-auth.js +4 -4
  152. package/lib/generated/services/eks-mcp.js +1 -1
  153. package/lib/generated/services/eks.js +4 -4
  154. package/lib/generated/services/elasticache.js +4 -4
  155. package/lib/generated/services/elasticbeanstalk.js +4 -4
  156. package/lib/generated/services/elasticfilesystem.js +4 -4
  157. package/lib/generated/services/elasticloadbalancing.js +4 -4
  158. package/lib/generated/services/elasticmapreduce.js +4 -4
  159. package/lib/generated/services/elastictranscoder.js +2 -2
  160. package/lib/generated/services/elemental-activations.js +1 -1
  161. package/lib/generated/services/elemental-appliances-software.js +2 -2
  162. package/lib/generated/services/elemental-inference.js +4 -4
  163. package/lib/generated/services/elemental-support-cases.js +3 -3
  164. package/lib/generated/services/elemental-support-content.js +1 -1
  165. package/lib/generated/services/emr-containers.js +4 -4
  166. package/lib/generated/services/emr-serverless.js +4 -4
  167. package/lib/generated/services/entityresolution.js +4 -4
  168. package/lib/generated/services/es.js +4 -4
  169. package/lib/generated/services/events.js +4 -4
  170. package/lib/generated/services/eventsbilltoaws.js +3 -3
  171. package/lib/generated/services/evidently.js +3 -3
  172. package/lib/generated/services/evs.js +4 -4
  173. package/lib/generated/services/execute-api.js +4 -4
  174. package/lib/generated/services/finops-agent.js +1 -1
  175. package/lib/generated/services/finspace-api.js +3 -3
  176. package/lib/generated/services/finspace.js +4 -4
  177. package/lib/generated/services/firehose.js +4 -4
  178. package/lib/generated/services/fis.js +4 -4
  179. package/lib/generated/services/fms.js +4 -4
  180. package/lib/generated/services/forecast.js +4 -4
  181. package/lib/generated/services/frauddetector.js +4 -4
  182. package/lib/generated/services/freertos.js +3 -3
  183. package/lib/generated/services/freetier.js +2 -2
  184. package/lib/generated/services/fsx.js +4 -4
  185. package/lib/generated/services/gamelift.js +4 -4
  186. package/lib/generated/services/gameliftstreams.js +4 -4
  187. package/lib/generated/services/geo-maps.js +3 -3
  188. package/lib/generated/services/geo-places.js +3 -3
  189. package/lib/generated/services/geo-routes.js +3 -3
  190. package/lib/generated/services/geo.js +4 -4
  191. package/lib/generated/services/glacier.js +4 -4
  192. package/lib/generated/services/globalaccelerator.js +4 -4
  193. package/lib/generated/services/glue.js +8 -6
  194. package/lib/generated/services/grafana.js +4 -4
  195. package/lib/generated/services/greengrass.js +4 -4
  196. package/lib/generated/services/groundstation.js +9 -6
  197. package/lib/generated/services/groundtruthlabeling.js +1 -1
  198. package/lib/generated/services/guardduty.js +4 -4
  199. package/lib/generated/services/health-agent.js +4 -4
  200. package/lib/generated/services/health.js +4 -4
  201. package/lib/generated/services/healthlake.js +4 -4
  202. package/lib/generated/services/honeycode.js +2 -2
  203. package/lib/generated/services/iam.js +4 -4
  204. package/lib/generated/services/identity-sync.js +2 -2
  205. package/lib/generated/services/identitystore-auth.js +1 -1
  206. package/lib/generated/services/identitystore.js +4 -4
  207. package/lib/generated/services/imagebuilder.js +4 -4
  208. package/lib/generated/services/importexport.js +2 -2
  209. package/lib/generated/services/inspector-scan.js +2 -2
  210. package/lib/generated/services/inspector.js +2 -2
  211. package/lib/generated/services/inspector2-telemetry.js +1 -1
  212. package/lib/generated/services/inspector2.js +4 -4
  213. package/lib/generated/services/interconnect.js +4 -4
  214. package/lib/generated/services/internetmonitor.js +4 -4
  215. package/lib/generated/services/invoicing.js +11 -38
  216. package/lib/generated/services/iot-device-tester.js +1 -1
  217. package/lib/generated/services/iot.js +4 -4
  218. package/lib/generated/services/iotanalytics.js +3 -3
  219. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  220. package/lib/generated/services/iotevents.js +3 -3
  221. package/lib/generated/services/iotfleethub.js +3 -3
  222. package/lib/generated/services/iotfleetwise.js +4 -4
  223. package/lib/generated/services/iotjobsdata.js +4 -4
  224. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  225. package/lib/generated/services/iotsitewise.js +4 -4
  226. package/lib/generated/services/iottwinmaker.js +4 -4
  227. package/lib/generated/services/iotwireless.js +4 -4
  228. package/lib/generated/services/iq-permission.js +2 -2
  229. package/lib/generated/services/iq.js +2 -2
  230. package/lib/generated/services/ivs.js +4 -4
  231. package/lib/generated/services/ivschat.js +4 -4
  232. package/lib/generated/services/kafka-cluster.js +3 -3
  233. package/lib/generated/services/kafka.js +4 -4
  234. package/lib/generated/services/kafkaconnect.js +4 -4
  235. package/lib/generated/services/kendra-ranking.js +4 -4
  236. package/lib/generated/services/kendra.js +4 -4
  237. package/lib/generated/services/kinesis.js +4 -4
  238. package/lib/generated/services/kinesisanalytics.js +4 -4
  239. package/lib/generated/services/kinesisvideo.js +4 -4
  240. package/lib/generated/services/kms.js +4 -4
  241. package/lib/generated/services/lakeformation.js +3 -3
  242. package/lib/generated/services/lambda.js +4 -4
  243. package/lib/generated/services/launchwizard.js +4 -4
  244. package/lib/generated/services/lex.js +4 -4
  245. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  246. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  247. package/lib/generated/services/license-manager.js +4 -4
  248. package/lib/generated/services/lightsail.js +4 -4
  249. package/lib/generated/services/logs.js +4 -4
  250. package/lib/generated/services/lookoutequipment.js +4 -4
  251. package/lib/generated/services/lookoutmetrics.js +3 -3
  252. package/lib/generated/services/lookoutvision.js +3 -3
  253. package/lib/generated/services/m2.js +4 -4
  254. package/lib/generated/services/machinelearning.js +3 -3
  255. package/lib/generated/services/macie2.js +4 -4
  256. package/lib/generated/services/managedblockchain-query.js +2 -2
  257. package/lib/generated/services/managedblockchain.js +4 -4
  258. package/lib/generated/services/mapcredits.js +2 -2
  259. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  260. package/lib/generated/services/mechanicalturk.js +2 -2
  261. package/lib/generated/services/mediaconnect.js +4 -4
  262. package/lib/generated/services/mediaconvert.js +4 -4
  263. package/lib/generated/services/mediaimport.js +1 -1
  264. package/lib/generated/services/medialive.js +4 -4
  265. package/lib/generated/services/mediapackage-vod.js +4 -4
  266. package/lib/generated/services/mediapackage.js +4 -4
  267. package/lib/generated/services/mediapackagev2.js +4 -4
  268. package/lib/generated/services/mediastore.js +4 -4
  269. package/lib/generated/services/mediatailor.js +4 -4
  270. package/lib/generated/services/medical-imaging.js +4 -4
  271. package/lib/generated/services/memorydb.js +4 -4
  272. package/lib/generated/services/mgh.js +4 -4
  273. package/lib/generated/services/mgn.js +4 -4
  274. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  275. package/lib/generated/services/migrationhub-strategy.js +2 -2
  276. package/lib/generated/services/mobileanalytics.js +1 -1
  277. package/lib/generated/services/mobiletargeting.js +4 -4
  278. package/lib/generated/services/monitron.js +3 -3
  279. package/lib/generated/services/mpa.js +4 -4
  280. package/lib/generated/services/mq.js +4 -4
  281. package/lib/generated/services/neptune-db.js +4 -4
  282. package/lib/generated/services/neptune-graph.js +4 -4
  283. package/lib/generated/services/network-firewall.js +4 -4
  284. package/lib/generated/services/network-security-director.js +1 -1
  285. package/lib/generated/services/networkflowmonitor.js +4 -4
  286. package/lib/generated/services/networkmanager-chat.js +1 -1
  287. package/lib/generated/services/networkmanager.js +4 -4
  288. package/lib/generated/services/networkmonitor.js +4 -4
  289. package/lib/generated/services/nimble.js +3 -3
  290. package/lib/generated/services/notifications-contacts.js +4 -4
  291. package/lib/generated/services/notifications.d.ts +2 -0
  292. package/lib/generated/services/notifications.js +7 -5
  293. package/lib/generated/services/nova-act.js +3 -3
  294. package/lib/generated/services/oam.js +4 -4
  295. package/lib/generated/services/observabilityadmin.js +4 -4
  296. package/lib/generated/services/odb.js +4 -4
  297. package/lib/generated/services/omics.js +4 -4
  298. package/lib/generated/services/one.js +3 -3
  299. package/lib/generated/services/opensearch.js +3 -3
  300. package/lib/generated/services/opsworks-cm.js +2 -2
  301. package/lib/generated/services/opsworks.js +2 -2
  302. package/lib/generated/services/organizations.js +4 -4
  303. package/lib/generated/services/osis.js +4 -4
  304. package/lib/generated/services/outposts.js +4 -4
  305. package/lib/generated/services/panorama.js +3 -3
  306. package/lib/generated/services/partnercentral-account-management.js +2 -2
  307. package/lib/generated/services/partnercentral.js +4 -4
  308. package/lib/generated/services/payment-cryptography.js +4 -4
  309. package/lib/generated/services/payments.js +3 -3
  310. package/lib/generated/services/pca-connector-ad.js +4 -4
  311. package/lib/generated/services/pca-connector-scep.js +4 -4
  312. package/lib/generated/services/pcs.js +4 -4
  313. package/lib/generated/services/personalize.js +4 -4
  314. package/lib/generated/services/pi.js +4 -4
  315. package/lib/generated/services/pipes.js +4 -4
  316. package/lib/generated/services/polly.js +3 -3
  317. package/lib/generated/services/pricing.js +2 -2
  318. package/lib/generated/services/pricingplanmanager.js +3 -3
  319. package/lib/generated/services/private-networks.js +3 -3
  320. package/lib/generated/services/profile.js +4 -4
  321. package/lib/generated/services/proton.js +4 -4
  322. package/lib/generated/services/purchase-orders.js +3 -3
  323. package/lib/generated/services/q.js +3 -3
  324. package/lib/generated/services/qapps.js +4 -4
  325. package/lib/generated/services/qbusiness.js +4 -4
  326. package/lib/generated/services/qdeveloper.js +3 -3
  327. package/lib/generated/services/qldb.js +3 -3
  328. package/lib/generated/services/quicksight.js +4 -4
  329. package/lib/generated/services/ram.js +4 -4
  330. package/lib/generated/services/rbin.js +4 -4
  331. package/lib/generated/services/rds-data.js +4 -4
  332. package/lib/generated/services/rds-db.js +2 -2
  333. package/lib/generated/services/rds.js +4 -4
  334. package/lib/generated/services/redshift-data.js +4 -4
  335. package/lib/generated/services/redshift-serverless.js +4 -4
  336. package/lib/generated/services/redshift.js +4 -4
  337. package/lib/generated/services/refactor-spaces.js +4 -4
  338. package/lib/generated/services/rekognition.js +4 -4
  339. package/lib/generated/services/repostspace.js +4 -4
  340. package/lib/generated/services/researchstudio.js +1 -1
  341. package/lib/generated/services/resiliencehub.js +4 -4
  342. package/lib/generated/services/resource-explorer-2.js +4 -4
  343. package/lib/generated/services/resource-explorer.js +1 -1
  344. package/lib/generated/services/resource-groups.js +4 -4
  345. package/lib/generated/services/rhelkb.js +1 -1
  346. package/lib/generated/services/robomaker.js +3 -3
  347. package/lib/generated/services/rolesanywhere.js +4 -4
  348. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  349. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  350. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  351. package/lib/generated/services/route53.js +4 -4
  352. package/lib/generated/services/route53domains.js +2 -2
  353. package/lib/generated/services/route53globalresolver.js +4 -4
  354. package/lib/generated/services/route53profiles.js +4 -4
  355. package/lib/generated/services/route53resolver.js +4 -4
  356. package/lib/generated/services/rtbfabric.js +4 -4
  357. package/lib/generated/services/rum.js +4 -4
  358. package/lib/generated/services/s3-object-lambda.js +3 -3
  359. package/lib/generated/services/s3-outposts.js +4 -4
  360. package/lib/generated/services/s3.js +4 -4
  361. package/lib/generated/services/s3express.js +3 -3
  362. package/lib/generated/services/s3files.js +4 -4
  363. package/lib/generated/services/s3tables.js +4 -4
  364. package/lib/generated/services/s3vectors.js +4 -4
  365. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  366. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  367. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  368. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  369. package/lib/generated/services/sagemaker.js +6 -6
  370. package/lib/generated/services/savingsplans.js +4 -4
  371. package/lib/generated/services/scheduler.js +4 -4
  372. package/lib/generated/services/schemas.js +4 -4
  373. package/lib/generated/services/scn.js +4 -4
  374. package/lib/generated/services/sdb.js +3 -3
  375. package/lib/generated/services/secretsmanager.js +4 -4
  376. package/lib/generated/services/security-ir.js +4 -4
  377. package/lib/generated/services/securityagent.d.ts +8 -0
  378. package/lib/generated/services/securityagent.js +17 -5
  379. package/lib/generated/services/securityhub.js +4 -4
  380. package/lib/generated/services/securitylake.js +4 -4
  381. package/lib/generated/services/serverlessrepo.js +4 -4
  382. package/lib/generated/services/servicecatalog.js +4 -4
  383. package/lib/generated/services/servicediscovery.js +4 -4
  384. package/lib/generated/services/serviceextract.js +1 -1
  385. package/lib/generated/services/servicequotas.js +4 -4
  386. package/lib/generated/services/ses.js +4 -4
  387. package/lib/generated/services/shield.js +4 -4
  388. package/lib/generated/services/signer.js +4 -4
  389. package/lib/generated/services/signin.js +4 -4
  390. package/lib/generated/services/simspaceweaver.js +3 -3
  391. package/lib/generated/services/sms-voice.d.ts +2 -0
  392. package/lib/generated/services/sms-voice.js +11 -6
  393. package/lib/generated/services/sms.js +1 -1
  394. package/lib/generated/services/snow-device-management.js +4 -4
  395. package/lib/generated/services/snowball.js +2 -2
  396. package/lib/generated/services/sns.js +4 -4
  397. package/lib/generated/services/social-messaging.d.ts +6 -0
  398. package/lib/generated/services/social-messaging.js +11 -5
  399. package/lib/generated/services/sqlworkbench.js +3 -3
  400. package/lib/generated/services/sqs.js +4 -4
  401. package/lib/generated/services/ssm-contacts.js +4 -4
  402. package/lib/generated/services/ssm-guiconnect.js +2 -2
  403. package/lib/generated/services/ssm-incidents.js +4 -4
  404. package/lib/generated/services/ssm-quicksetup.js +4 -4
  405. package/lib/generated/services/ssm-sap.js +4 -4
  406. package/lib/generated/services/ssm.js +4 -4
  407. package/lib/generated/services/ssmmessages.js +2 -2
  408. package/lib/generated/services/sso-directory.js +1 -1
  409. package/lib/generated/services/sso-oauth.js +3 -3
  410. package/lib/generated/services/sso.js +4 -4
  411. package/lib/generated/services/states.js +4 -4
  412. package/lib/generated/services/storagegateway.js +4 -4
  413. package/lib/generated/services/sts.js +4 -4
  414. package/lib/generated/services/support-console.js +1 -1
  415. package/lib/generated/services/support.js +2 -2
  416. package/lib/generated/services/supportapp.js +2 -2
  417. package/lib/generated/services/supportauthz.js +4 -4
  418. package/lib/generated/services/supportplans.js +1 -1
  419. package/lib/generated/services/sustainability.js +2 -2
  420. package/lib/generated/services/swf.js +4 -4
  421. package/lib/generated/services/synthetics.js +4 -4
  422. package/lib/generated/services/tag.js +2 -2
  423. package/lib/generated/services/tax.js +2 -2
  424. package/lib/generated/services/textract.js +4 -4
  425. package/lib/generated/services/thinclient.js +4 -4
  426. package/lib/generated/services/timestream-influxdb.js +4 -4
  427. package/lib/generated/services/timestream.js +4 -4
  428. package/lib/generated/services/tiros.js +1 -1
  429. package/lib/generated/services/tnb.js +4 -4
  430. package/lib/generated/services/transcribe.js +4 -4
  431. package/lib/generated/services/transfer.js +4 -4
  432. package/lib/generated/services/transform-custom.js +3 -3
  433. package/lib/generated/services/transform.js +3 -3
  434. package/lib/generated/services/translate.js +4 -4
  435. package/lib/generated/services/trustedadvisor.js +3 -3
  436. package/lib/generated/services/ts.js +3 -3
  437. package/lib/generated/services/user-subscriptions.js +2 -2
  438. package/lib/generated/services/uxc.js +2 -2
  439. package/lib/generated/services/vendor-insights.js +3 -3
  440. package/lib/generated/services/verified-access.js +1 -1
  441. package/lib/generated/services/verifiedpermissions.js +4 -4
  442. package/lib/generated/services/voiceid.js +4 -4
  443. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  444. package/lib/generated/services/vpc-lattice.js +4 -4
  445. package/lib/generated/services/vpce.js +2 -2
  446. package/lib/generated/services/waf-regional.js +4 -4
  447. package/lib/generated/services/waf.js +4 -4
  448. package/lib/generated/services/wafv2.js +4 -4
  449. package/lib/generated/services/wam.js +1 -1
  450. package/lib/generated/services/wellarchitected.js +4 -4
  451. package/lib/generated/services/wickr.js +4 -4
  452. package/lib/generated/services/wisdom.js +4 -4
  453. package/lib/generated/services/workdocs.js +3 -3
  454. package/lib/generated/services/worklink.js +3 -3
  455. package/lib/generated/services/workmail.js +4 -4
  456. package/lib/generated/services/workmailmessageflow.js +3 -3
  457. package/lib/generated/services/workspaces-instances.js +4 -4
  458. package/lib/generated/services/workspaces-web.js +4 -4
  459. package/lib/generated/services/workspaces.js +4 -4
  460. package/lib/generated/services/xray.js +4 -4
  461. package/package.json +1 -1
@@ -16,7 +16,7 @@ class SageMakerActions {
16
16
  }
17
17
  exports.SageMakerActions = SageMakerActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- SageMakerActions[_a] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerActions", version: "1.25.0" };
19
+ SageMakerActions[_a] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerActions", version: "1.26.0" };
20
20
  /** The IAM service prefix. */
21
21
  SageMakerActions.SERVICE_PREFIX = "sagemaker";
22
22
  /** [Read] sagemaker:AccessModelPackage */
@@ -3514,7 +3514,7 @@ class SageMakerResources {
3514
3514
  }
3515
3515
  exports.SageMakerResources = SageMakerResources;
3516
3516
  _b = JSII_RTTI_SYMBOL_1;
3517
- SageMakerResources[_b] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerResources", version: "1.25.0" };
3517
+ SageMakerResources[_b] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerResources", version: "1.26.0" };
3518
3518
  /**
3519
3519
  * API operation to required IAM actions mapping for sagemaker.
3520
3520
  */
@@ -3522,7 +3522,7 @@ class SageMakerOperations {
3522
3522
  }
3523
3523
  exports.SageMakerOperations = SageMakerOperations;
3524
3524
  _c = JSII_RTTI_SYMBOL_1;
3525
- SageMakerOperations[_c] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerOperations", version: "1.25.0" };
3525
+ SageMakerOperations[_c] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerOperations", version: "1.26.0" };
3526
3526
  /** IAM actions required for the AddAssociation API call. */
3527
3527
  SageMakerOperations.AddAssociation = ["sagemaker:AddAssociation"];
3528
3528
  /** IAM actions required for the AddTags API call. */
@@ -5015,7 +5015,7 @@ SageMakerOperations.UpdateProject = [
5015
5015
  "sagemaker:UpdateProject",
5016
5016
  ];
5017
5017
  /** IAM actions required for the UpdateRecord API call. */
5018
- SageMakerOperations.UpdateRecord = [];
5018
+ SageMakerOperations.UpdateRecord = ["sagemaker:PutRecord"];
5019
5019
  /** IAM actions required for the UpdateReward API call. */
5020
5020
  SageMakerOperations.UpdateReward = [
5021
5021
  "sagemaker:CallWithBearerToken",
@@ -5491,7 +5491,7 @@ class SageMakerConditions {
5491
5491
  }
5492
5492
  exports.SageMakerConditions = SageMakerConditions;
5493
5493
  _d = JSII_RTTI_SYMBOL_1;
5494
- SageMakerConditions[_d] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerConditions", version: "1.25.0" };
5494
+ SageMakerConditions[_d] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerConditions", version: "1.26.0" };
5495
5495
  /** Condition keys applicable to the AddTags action. */
5496
5496
  SageMakerConditions.AddTagsConditionKeys = [
5497
5497
  "aws:RequestTag/${TagKey}",
@@ -6249,4 +6249,4 @@ SageMakerConditions.VPC_SUBNETS = "sagemaker:VpcSubnets";
6249
6249
  SageMakerConditions.WORKTEAM_ARN = "sagemaker:WorkteamArn";
6250
6250
  /** Condition key: sagemaker:WorkteamType (String) */
6251
6251
  SageMakerConditions.WORKTEAM_TYPE = "sagemaker:WorkteamType";
6252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FnZW1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zYWdlbWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCOztBQUE3Qiw0Q0E2OENDOzs7QUE1OENBLDhCQUE4QjtBQUNkLCtCQUFjLEdBQUcsV0FBVyxDQUFDO0FBRTdDLDBDQUEwQztBQUMxQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCxrQ0FBa0M7QUFDbEIsd0JBQU8sR0FBRyxtQkFBbUIsQ0FBQztBQUM5QyxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsZ0RBQWdEO0FBQ2hDLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2Qyx1Q0FBdUM7QUFDdkIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxzQ0FBc0M7QUFDdEIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0Qyx5Q0FBeUM7QUFDekIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUseUNBQXlDO0FBQ3pCLGlDQUFnQixHQUFHLDRCQUE0QixDQUFDO0FBQ2hFLDBDQUEwQztBQUMxQixrQ0FBaUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNsRSwyQ0FBMkM7QUFDM0Isb0NBQW1CLEdBQUcsK0JBQStCLENBQUM7QUFDdEUsd0NBQXdDO0FBQ3hCLGdDQUFlLEdBQUcsMkJBQTJCLENBQUM7QUFDOUQsNkNBQTZDO0FBQzdCLHFDQUFvQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3hFLGtEQUFrRDtBQUNsQywwQ0FBeUIsR0FDeEMscUNBQXFDLENBQUM7QUFDdkMsK0NBQStDO0FBQy9CLHVDQUFzQixHQUFHLGtDQUFrQyxDQUFDO0FBQzVFLHFDQUFxQztBQUNyQiw2QkFBWSxHQUFHLHdCQUF3QixDQUFDO0FBQ3hELHdDQUF3QztBQUN4QixnQ0FBZSxHQUFHLDJCQUEyQixDQUFDO0FBQzlELGtDQUFrQztBQUNsQiwwQkFBUyxHQUFHLHFCQUFxQixDQUFDO0FBQ2xELDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCwwQ0FBMEM7QUFDMUIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsc0NBQXNDO0FBQ3RCLDhCQUFhLEdBQUcseUJBQXlCLENBQUM7QUFDMUQscURBQXFEO0FBQ3JDLDZDQUE0QixHQUMzQyx3Q0FBd0MsQ0FBQztBQUMxQyw2Q0FBNkM7QUFDN0IscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsNkNBQTZDO0FBQzdCLHFDQUFvQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3hFLDJDQUEyQztBQUMzQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSxzQ0FBc0M7QUFDdEIsOEJBQWEsR0FBRyx5QkFBeUIsQ0FBQztBQUMxRCx1REFBdUQ7QUFDdkMsK0NBQThCLEdBQzdDLDBDQUEwQyxDQUFDO0FBQzVDLDBDQUEwQztBQUMxQixrQ0FBaUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNsRSxxQ0FBcUM7QUFDckIsNkJBQVksR0FBRyx3QkFBd0IsQ0FBQztBQUN4RCxpREFBaUQ7QUFDakMseUNBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDO0FBQ3RDLGtEQUFrRDtBQUNsQywwQ0FBeUIsR0FDeEMscUNBQXFDLENBQUM7QUFDdkMsK0NBQStDO0FBQy9CLHVDQUFzQixHQUFHLGtDQUFrQyxDQUFDO0FBQzVFLHVDQUF1QztBQUN2QiwrQkFBYyxHQUFHLDBCQUEwQixDQUFDO0FBQzVELDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSx5Q0FBeUM7QUFDekIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUsMkNBQTJDO0FBQzNCLG1DQUFrQixHQUFHLDhCQUE4QixDQUFDO0FBQ3BFLDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxrQ0FBa0M7QUFDbEIsMEJBQVMsR0FBRyxxQkFBcUIsQ0FBQztBQUNsRCxxREFBcUQ7QUFDckMsOENBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLGtEQUFrRDtBQUNsQywwQ0FBeUIsR0FDeEMscUNBQXFDLENBQUM7QUFDdkMsMENBQTBDO0FBQzFCLGtDQUFpQixHQUFHLDZCQUE2QixDQUFDO0FBQ2xFLHNEQUFzRDtBQUN0Qyw4Q0FBNkIsR0FDNUMseUNBQXlDLENBQUM7QUFDM0Msb0NBQW9DO0FBQ3BCLDRCQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDdEQsMkNBQTJDO0FBQzNCLG1DQUFrQixHQUFHLDhCQUE4QixDQUFDO0FBQ3BFLGlEQUFpRDtBQUNqQyx5Q0FBd0IsR0FDdkMsb0NBQW9DLENBQUM7QUFDdEMsa0RBQWtEO0FBQ2xDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2QywwREFBMEQ7QUFDMUMsa0RBQWlDLEdBQ2hELDZDQUE2QyxDQUFDO0FBQy9DLGtDQUFrQztBQUNsQiwwQkFBUyxHQUFHLHFCQUFxQixDQUFDO0FBQ2xELDBDQUEwQztBQUMxQixrQ0FBaUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNsRSxpREFBaUQ7QUFDakMseUNBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDO0FBQ3RDLHdDQUF3QztBQUN4QixnQ0FBZSxHQUFHLDJCQUEyQixDQUFDO0FBQzlELG1EQUFtRDtBQUNuQywyQ0FBMEIsR0FDekMsc0NBQXNDLENBQUM7QUFDeEMsb0NBQW9DO0FBQ3BCLDRCQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDdEQscURBQXFEO0FBQ3JDLDZDQUE0QixHQUMzQyx3Q0FBd0MsQ0FBQztBQUMxQyx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxpREFBaUQ7QUFDakMseUNBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDO0FBQ3RDLCtEQUErRDtBQUMvQyx1REFBc0MsR0FDckQsa0RBQWtELENBQUM7QUFDcEQsMkNBQTJDO0FBQzNCLG1DQUFrQixHQUFHLDhCQUE4QixDQUFDO0FBQ3BFLGdEQUFnRDtBQUNoQyx3Q0FBdUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM5RSx3REFBd0Q7QUFDeEMsZ0RBQStCLEdBQzlDLDJDQUEyQyxDQUFDO0FBQzdDLGlEQUFpRDtBQUNqQyx5Q0FBd0IsR0FDdkMsb0NBQW9DLENBQUM7QUFDdEMsK0NBQStDO0FBQy9CLHVDQUFzQixHQUFHLGtDQUFrQyxDQUFDO0FBQzVFLDhEQUE4RDtBQUM5QyxzREFBcUMsR0FDcEQsaURBQWlELENBQUM7QUFDbkQsOENBQThDO0FBQzlCLHNDQUFxQixHQUFHLGlDQUFpQyxDQUFDO0FBQzFFLHlDQUF5QztBQUN6QixpQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSxxREFBcUQ7QUFDckMsNkNBQTRCLEdBQzNDLHdDQUF3QyxDQUFDO0FBQzFDLHVDQUF1QztBQUN2QiwrQkFBYyxHQUFHLDBCQUEwQixDQUFDO0FBQzVELGlEQUFpRDtBQUNqQyx5Q0FBd0IsR0FDdkMsb0NBQW9DLENBQUM7QUFDdEMsb0RBQW9EO0FBQ3BDLDRDQUEyQixHQUMxQyx1Q0FBdUMsQ0FBQztBQUN6QywrREFBK0Q7QUFDL0MsdURBQXNDLEdBQ3JELGtEQUFrRCxDQUFDO0FBQ3BELDJEQUEyRDtBQUMzQyxtREFBa0MsR0FDakQsOENBQThDLENBQUM7QUFDaEQsNENBQTRDO0FBQzVCLG9DQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLHNDQUFzQztBQUN0Qiw4QkFBYSxHQUFHLHlCQUF5QixDQUFDO0FBQzFELCtDQUErQztBQUMvQix1Q0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSwwQ0FBMEM7QUFDMUIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsb0NBQW9DO0FBQ3BCLDRCQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDdEQsb0RBQW9EO0FBQ3BDLDRDQUEyQixHQUMxQyx1Q0FBdUMsQ0FBQztBQUN6QywwQ0FBMEM7QUFDMUIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsMkNBQTJDO0FBQzNCLG1DQUFrQixHQUFHLDhCQUE4QixDQUFDO0FBQ3BFLDJDQUEyQztBQUMzQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSxvQ0FBb0M7QUFDcEIsNEJBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUN0RCw2Q0FBNkM7QUFDN0IscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsMENBQTBDO0FBQzFCLGtDQUFpQixHQUFHLDZCQUE2QixDQUFDO0FBQ2xFLHdDQUF3QztBQUN4QixnQ0FBZSxHQUFHLDJCQUEyQixDQUFDO0FBQzlELHVDQUF1QztBQUN2QiwrQkFBYyxHQUFHLDBCQUEwQixDQUFDO0FBQzVELDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxrREFBa0Q7QUFDbEMsMENBQXlCLEdBQ3hDLHFDQUFxQyxDQUFDO0FBQ3ZDLCtDQUErQztBQUMvQix1Q0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSxxQ0FBcUM7QUFDckIsNkJBQVksR0FBRyx3QkFBd0IsQ0FBQztBQUN4RCx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxrQ0FBa0M7QUFDbEIsMEJBQVMsR0FBRyxxQkFBcUIsQ0FBQztBQUNsRCw2Q0FBNkM7QUFDN0IscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsdUNBQXVDO0FBQ3ZCLCtCQUFjLEdBQUcsMEJBQTBCLENBQUM7QUFDNUQsMENBQTBDO0FBQzFCLGtDQUFpQixHQUFHLDZCQUE2QixDQUFDO0FBQ2xFLHNDQUFzQztBQUN0Qiw4QkFBYSxHQUFHLHlCQUF5QixDQUFDO0FBQzFELHFEQUFxRDtBQUNyQyw2Q0FBNEIsR0FDM0Msd0NBQXdDLENBQUM7QUFDMUMsNkNBQTZDO0FBQzdCLHFDQUFvQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3hFLDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSwyQ0FBMkM7QUFDM0IsbUNBQWtCLEdBQUcsOEJBQThCLENBQUM7QUFDcEUsc0NBQXNDO0FBQ3RCLDhCQUFhLEdBQUcseUJBQXlCLENBQUM7QUFDMUQsdURBQXVEO0FBQ3ZDLCtDQUE4QixHQUM3QywwQ0FBMEMsQ0FBQztBQUM1QywwQ0FBMEM7QUFDMUIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUscUNBQXFDO0FBQ3JCLDZCQUFZLEdBQUcsd0JBQXdCLENBQUM7QUFDeEQsaURBQWlEO0FBQ2pDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0QyxrREFBa0Q7QUFDbEMsMENBQXlCLEdBQ3hDLHFDQUFxQyxDQUFDO0FBQ3ZDLHVDQUF1QztBQUN2QiwrQkFBYyxHQUFHLDBCQUEwQixDQUFDO0FBQzVELDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSx5Q0FBeUM7QUFDekIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUsMkNBQTJDO0FBQzNCLG1DQUFrQixHQUFHLDhCQUE4QixDQUFDO0FBQ3BFLDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxrQ0FBa0M7QUFDbEIsMEJBQVMsR0FBRyxxQkFBcUIsQ0FBQztBQUNsRCx5Q0FBeUM7QUFDekIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUsa0RBQWtEO0FBQ2xDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2Qyx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCwwQ0FBMEM7QUFDMUIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsc0RBQXNEO0FBQ3RDLDhDQUE2QixHQUM1Qyx5Q0FBeUMsQ0FBQztBQUMzQyxvQ0FBb0M7QUFDcEIsNEJBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUN0RCwyQ0FBMkM7QUFDM0IsbUNBQWtCLEdBQUcsOEJBQThCLENBQUM7QUFDcEUsaURBQWlEO0FBQ2pDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0QyxrREFBa0Q7QUFDbEMsMENBQXlCLEdBQ3hDLHFDQUFxQyxDQUFDO0FBQ3ZDLGtDQUFrQztBQUNsQiwwQkFBUyxHQUFHLHFCQUFxQixDQUFDO0FBQ2xELGlEQUFpRDtBQUNqQyx5Q0FBd0IsR0FDdkMsb0NBQW9DLENBQUM7QUFDdEMsd0NBQXdDO0FBQ3hCLGdDQUFlLEdBQUcsMkJBQTJCLENBQUM7QUFDOUQsbURBQW1EO0FBQ25DLDJDQUEwQixHQUN6QyxzQ0FBc0MsQ0FBQztBQUN4QyxvQ0FBb0M7QUFDcEIsNEJBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUN0RCxxREFBcUQ7QUFDckMsNkNBQTRCLEdBQzNDLHdDQUF3QyxDQUFDO0FBQzFDLHdDQUF3QztBQUN4QixnQ0FBZSxHQUFHLDJCQUEyQixDQUFDO0FBQzlELCtEQUErRDtBQUMvQyx1REFBc0MsR0FDckQsa0RBQWtELENBQUM7QUFDcEQsMkNBQTJDO0FBQzNCLG1DQUFrQixHQUFHLDhCQUE4QixDQUFDO0FBQ3BFLGdEQUFnRDtBQUNoQyx3Q0FBdUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM5RSxzREFBc0Q7QUFDdEMsOENBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLHdEQUF3RDtBQUN4QyxnREFBK0IsR0FDOUMsMkNBQTJDLENBQUM7QUFDN0MsaURBQWlEO0FBQ2pDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0QywrQ0FBK0M7QUFDL0IsdUNBQXNCLEdBQUcsa0NBQWtDLENBQUM7QUFDNUUsOERBQThEO0FBQzlDLHNEQUFxQyxHQUNwRCxpREFBaUQsQ0FBQztBQUNuRCw4Q0FBOEM7QUFDOUIsc0NBQXFCLEdBQUcsaUNBQWlDLENBQUM7QUFDMUUseUNBQXlDO0FBQ3pCLGlDQUFnQixHQUFHLDRCQUE0QixDQUFDO0FBQ2hFLHVDQUF1QztBQUN2QiwrQkFBYyxHQUFHLDBCQUEwQixDQUFDO0FBQzVELDRDQUE0QztBQUM1QixvQ0FBbUIsR0FBRywrQkFBK0IsQ0FBQztBQUN0RSxzQ0FBc0M7QUFDdEIsOEJBQWEsR0FBRyx5QkFBeUIsQ0FBQztBQUMxRCxxQ0FBcUM7QUFDckIsNkJBQVksR0FBRyx3QkFBd0IsQ0FBQztBQUN4RCw2Q0FBNkM7QUFDN0IscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsb0NBQW9DO0FBQ3BCLDRCQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDdEQsb0RBQW9EO0FBQ3BDLDRDQUEyQixHQUMxQyx1Q0FBdUMsQ0FBQztBQUN6QyxxQ0FBcUM7QUFDckIsMkJBQVUsR0FBRyxzQkFBc0IsQ0FBQztBQUNwRCwwQ0FBMEM7QUFDMUIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsb0NBQW9DO0FBQ3BCLDRCQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDdEQsNkNBQTZDO0FBQzdCLHFDQUFvQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3hFLDBDQUEwQztBQUMxQixrQ0FBaUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNsRSx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCwwQ0FBMEM7QUFDMUIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsOENBQThDO0FBQzlCLHVDQUFzQixHQUFHLGtDQUFrQyxDQUFDO0FBQzVFLG1EQUFtRDtBQUNuQyw0Q0FBMkIsR0FDMUMsdUNBQXVDLENBQUM7QUFDekMsZ0RBQWdEO0FBQ2hDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0QyxzQ0FBc0M7QUFDdEIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCx5Q0FBeUM7QUFDekIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsbUNBQW1DO0FBQ25CLDRCQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDdEQsOENBQThDO0FBQzlCLHVDQUFzQixHQUFHLGtDQUFrQyxDQUFDO0FBQzVFLHdDQUF3QztBQUN4QixpQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSx5Q0FBeUM7QUFDekIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsMkNBQTJDO0FBQzNCLG9DQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLHVDQUF1QztBQUN2QixnQ0FBZSxHQUFHLDJCQUEyQixDQUFDO0FBQzlELDRDQUE0QztBQUM1QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxnREFBZ0Q7QUFDaEMseUNBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDO0FBQ3RDLDJDQUEyQztBQUMzQixvQ0FBbUIsR0FBRywrQkFBK0IsQ0FBQztBQUN0RSxzREFBc0Q7QUFDdEMsK0NBQThCLEdBQzdDLDBDQUEwQyxDQUFDO0FBQzVDLDhDQUE4QztBQUM5Qix1Q0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSw4Q0FBOEM7QUFDOUIsdUNBQXNCLEdBQUcsa0NBQWtDLENBQUM7QUFDNUUsNENBQTRDO0FBQzVCLHFDQUFvQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3hFLHVDQUF1QztBQUN2QixnQ0FBZSxHQUFHLDJCQUEyQixDQUFDO0FBQzlELHdEQUF3RDtBQUN4QyxpREFBZ0MsR0FDL0MsNENBQTRDLENBQUM7QUFDOUMsc0NBQXNDO0FBQ3RCLCtCQUFjLEdBQUcsMEJBQTBCLENBQUM7QUFDNUQsMkNBQTJDO0FBQzNCLG9DQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLHNDQUFzQztBQUN0QiwrQkFBYyxHQUFHLDBCQUEwQixDQUFDO0FBQzVELGtEQUFrRDtBQUNsQywyQ0FBMEIsR0FDekMsc0NBQXNDLENBQUM7QUFDeEMsZ0RBQWdEO0FBQ2hDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0Qyx3Q0FBd0M7QUFDeEIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUsOENBQThDO0FBQzlCLHVDQUFzQixHQUFHLGtDQUFrQyxDQUFDO0FBQzVFLDBDQUEwQztBQUMxQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSw0Q0FBNEM7QUFDNUIscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsK0NBQStDO0FBQy9CLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLDhDQUE4QztBQUM5Qix1Q0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSxtQ0FBbUM7QUFDbkIsNEJBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUN0RCwwQ0FBMEM7QUFDMUIsbUNBQWtCLEdBQUcsOEJBQThCLENBQUM7QUFDcEUseUNBQXlDO0FBQ3pCLGtDQUFpQixHQUFHLDZCQUE2QixDQUFDO0FBQ2xFLDJDQUEyQztBQUMzQixvQ0FBbUIsR0FBRywrQkFBK0IsQ0FBQztBQUN0RSx1REFBdUQ7QUFDdkMsZ0RBQStCLEdBQzlDLDJDQUEyQyxDQUFDO0FBQzdDLHFDQUFxQztBQUNyQiw4QkFBYSxHQUFHLHlCQUF5QixDQUFDO0FBQzFELDRDQUE0QztBQUM1QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxrREFBa0Q7QUFDbEMsMkNBQTBCLEdBQ3pDLHNDQUFzQyxDQUFDO0FBQ3hDLG1EQUFtRDtBQUNuQyw0Q0FBMkIsR0FDMUMsdUNBQXVDLENBQUM7QUFDekMsMkRBQTJEO0FBQzNDLG9EQUFtQyxHQUNsRCwrQ0FBK0MsQ0FBQztBQUNqRCxtQ0FBbUM7QUFDbkIsNEJBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUN0RCxnREFBZ0Q7QUFDaEMseUNBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDO0FBQ3RDLDJDQUEyQztBQUMzQixvQ0FBbUIsR0FBRywrQkFBK0IsQ0FBQztBQUN0RSw0Q0FBNEM7QUFDNUIscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUseUNBQXlDO0FBQ3pCLGtDQUFpQixHQUFHLDZCQUE2QixDQUFDO0FBQ2xFLG9EQUFvRDtBQUNwQyw2Q0FBNEIsR0FDM0Msd0NBQXdDLENBQUM7QUFDMUMscUNBQXFDO0FBQ3JCLDhCQUFhLEdBQUcseUJBQXlCLENBQUM7QUFDMUQsc0RBQXNEO0FBQ3RDLCtDQUE4QixHQUM3QywwQ0FBMEMsQ0FBQztBQUM1Qyx5Q0FBeUM7QUFDekIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsa0RBQWtEO0FBQ2xDLDJDQUEwQixHQUN6QyxzQ0FBc0MsQ0FBQztBQUN4QyxnRUFBZ0U7QUFDaEQseURBQXdDLEdBQ3ZELG9EQUFvRCxDQUFDO0FBQ3RELDRDQUE0QztBQUM1QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxpREFBaUQ7QUFDakMsMENBQXlCLEdBQ3hDLHFDQUFxQyxDQUFDO0FBQ3ZDLHlEQUF5RDtBQUN6QyxrREFBaUMsR0FDaEQsNkNBQTZDLENBQUM7QUFDL0Msa0RBQWtEO0FBQ2xDLDJDQUEwQixHQUN6QyxzQ0FBc0MsQ0FBQztBQUN4QyxnREFBZ0Q7QUFDaEMseUNBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDO0FBQ3RDLCtEQUErRDtBQUMvQyx3REFBdUMsR0FDdEQsbURBQW1ELENBQUM7QUFDckQsK0NBQStDO0FBQy9CLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLDBDQUEwQztBQUMxQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSx3Q0FBd0M7QUFDeEIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUsOERBQThEO0FBQzlDLHVEQUFzQyxHQUNyRCxrREFBa0QsQ0FBQztBQUNwRCxpREFBaUQ7QUFDakMsMENBQXlCLEdBQ3hDLHFDQUFxQyxDQUFDO0FBQ3ZDLDZDQUE2QztBQUM3QixzQ0FBcUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUMxRSx1Q0FBdUM7QUFDdkIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxnREFBZ0Q7QUFDaEMseUNBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDO0FBQ3RDLDJDQUEyQztBQUMzQixvQ0FBbUIsR0FBRywrQkFBK0IsQ0FBQztBQUN0RSxxQ0FBcUM7QUFDckIsOEJBQWEsR0FBRyx5QkFBeUIsQ0FBQztBQUMxRCxxREFBcUQ7QUFDckMsOENBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLGtEQUFrRDtBQUNsQywyQ0FBMEIsR0FDekMsc0NBQXNDLENBQUM7QUFDeEMsMkNBQTJDO0FBQzNCLG9DQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLDRDQUE0QztBQUM1QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSw0REFBNEQ7QUFDNUMscURBQW9DLEdBQ25ELGdEQUFnRCxDQUFDO0FBQ2xELDRDQUE0QztBQUM1QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxxQ0FBcUM7QUFDckIsOEJBQWEsR0FBRyx5QkFBeUIsQ0FBQztBQUMxRCw4Q0FBOEM7QUFDOUIsdUNBQXNCLEdBQUcsa0NBQWtDLENBQUM7QUFDNUUsMkNBQTJDO0FBQzNCLG9DQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLHlDQUF5QztBQUN6QixrQ0FBaUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNsRSx3Q0FBd0M7QUFDeEIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUsZ0RBQWdEO0FBQ2hDLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLGdFQUFnRTtBQUNoRCx3REFBdUMsR0FDdEQsbURBQW1ELENBQUM7QUFDckQsbURBQW1EO0FBQ25DLDJDQUEwQixHQUN6QyxzQ0FBc0MsQ0FBQztBQUN4QywrREFBK0Q7QUFDL0MsdURBQXNDLEdBQ3JELGtEQUFrRCxDQUFDO0FBQ3BELDJDQUEyQztBQUMzQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSxzQ0FBc0M7QUFDdEIscUNBQW9CLEdBQUcsMEJBQTBCLENBQUM7QUFDbEUsNENBQTRDO0FBQzVCLDJDQUEwQixHQUFHLGdDQUFnQyxDQUFDO0FBQzlFLDZDQUE2QztBQUM3Qiw0Q0FBMkIsR0FDMUMsaUNBQWlDLENBQUM7QUFDbkMsNkNBQTZDO0FBQzdCLDRDQUEyQixHQUMxQyxpQ0FBaUMsQ0FBQztBQUNuQyxrREFBa0Q7QUFDbEMsaURBQWdDLEdBQy9DLHNDQUFzQyxDQUFDO0FBQ3hDLGlDQUFpQztBQUNqQixnQ0FBZSxHQUFHLHFCQUFxQixDQUFDO0FBQ3hELHlDQUF5QztBQUN6Qix3Q0FBdUIsR0FBRyw2QkFBNkIsQ0FBQztBQUN4RSxpRUFBaUU7QUFDakQsZ0VBQStDLEdBQzlELHFEQUFxRCxDQUFDO0FBQ3ZELDZEQUE2RDtBQUM3Qyw0REFBMkMsR0FDMUQsaURBQWlELENBQUM7QUFDbkQsNENBQTRDO0FBQzVCLDJDQUEwQixHQUFHLGdDQUFnQyxDQUFDO0FBQzlFLHlDQUF5QztBQUN6QixpQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSxzQ0FBc0M7QUFDdEIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCwyQ0FBMkM7QUFDM0Isb0NBQW1CLEdBQUcsK0JBQStCLENBQUM7QUFDdEUsd0RBQXdEO0FBQ3hDLGlEQUFnQyxHQUMvQyw0Q0FBNEMsQ0FBQztBQUM5QywyQ0FBMkM7QUFDM0Isb0NBQW1CLEdBQUcsK0JBQStCLENBQUM7QUFDdEUsZ0RBQWdEO0FBQ2hDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0Qyw2Q0FBNkM7QUFDN0Isc0NBQXFCLEdBQUcsaUNBQWlDLENBQUM7QUFDMUUsbUNBQW1DO0FBQ25CLDRCQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDdEQsc0NBQXNDO0FBQ3RCLCtCQUFjLEdBQUcsMEJBQTBCLENBQUM7QUFDNUQsbUNBQW1DO0FBQ25CLDRCQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDdEQsMkNBQTJDO0FBQzNCLG9DQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLGdDQUFnQztBQUNoQix5QkFBUSxHQUFHLG9CQUFvQixDQUFDO0FBQ2hELHFDQUFxQztBQUNyQiw4QkFBYSxHQUFHLHlCQUF5QixDQUFDO0FBQzFELHdDQUF3QztBQUN4QixpQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSxzQ0FBc0M7QUFDdEIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCxrREFBa0Q7QUFDbEMsMkNBQTBCLEdBQ3pDLHNDQUFzQyxDQUFDO0FBQ3hDLHlDQUF5QztBQUN6QixrQ0FBaUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNsRSx3Q0FBd0M7QUFDeEIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUsbURBQW1EO0FBQ25DLDRDQUEyQixHQUMxQyx1Q0FBdUMsQ0FBQztBQUN6QyxvQ0FBb0M7QUFDcEIsNkJBQVksR0FBRyx3QkFBd0IsQ0FBQztBQUN4RCw0Q0FBNEM7QUFDNUIscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsMkNBQTJDO0FBQzNCLG9DQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLHlDQUF5QztBQUN6QixrQ0FBaUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNsRSxvQ0FBb0M7QUFDcEIsNkJBQVksR0FBRyx3QkFBd0IsQ0FBQztBQUN4RCxxREFBcUQ7QUFDckMsOENBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLHdDQUF3QztBQUN4QixpQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSxtQ0FBbUM7QUFDbkIsNEJBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUN0RCxtQ0FBbUM7QUFDbkIsNEJBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUN0RCwrQ0FBK0M7QUFDL0Isd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsNkNBQTZDO0FBQzdCLHNDQUFxQixHQUFHLGlDQUFpQyxDQUFDO0FBQzFFLDJDQUEyQztBQUMzQixvQ0FBbUIsR0FBRywrQkFBK0IsQ0FBQztBQUN0RSxxQ0FBcUM7QUFDckIsOEJBQWEsR0FBRyx5QkFBeUIsQ0FBQztBQUMxRCx1Q0FBdUM7QUFDdkIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCx5Q0FBeUM7QUFDekIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsMkNBQTJDO0FBQzNCLG9DQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLDhDQUE4QztBQUM5Qix1Q0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSx1Q0FBdUM7QUFDdkIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxnQ0FBZ0M7QUFDaEIseUJBQVEsR0FBRyxvQkFBb0IsQ0FBQztBQUNoRCxzQ0FBc0M7QUFDdEIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCx3Q0FBd0M7QUFDeEIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUsb0RBQW9EO0FBQ3BDLDZDQUE0QixHQUMzQyx3Q0FBd0MsQ0FBQztBQUMxQyx5Q0FBeUM7QUFDekIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsa0NBQWtDO0FBQ2xCLDJCQUFVLEdBQUcsc0JBQXNCLENBQUM7QUFDcEQsK0NBQStDO0FBQy9CLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLGdEQUFnRDtBQUNoQyx5Q0FBd0IsR0FDdkMsb0NBQW9DLENBQUM7QUFDdEMsNERBQTREO0FBQzVDLHFEQUFvQyxHQUNuRCxnREFBZ0QsQ0FBQztBQUNsRCx3REFBd0Q7QUFDeEMsaURBQWdDLEdBQy9DLDRDQUE0QyxDQUFDO0FBQzlDLDZDQUE2QztBQUM3QixzQ0FBcUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUMxRSxnQ0FBZ0M7QUFDaEIseUJBQVEsR0FBRyxvQkFBb0IsQ0FBQztBQUNoRCx3Q0FBd0M7QUFDeEIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUsbURBQW1EO0FBQ25DLDRDQUEyQixHQUMxQyx1Q0FBdUMsQ0FBQztBQUN6Qyx5Q0FBeUM7QUFDekIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsc0NBQXNDO0FBQ3RCLCtCQUFjLEdBQUcsMEJBQTBCLENBQUM7QUFDNUQsaURBQWlEO0FBQ2pDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2QyxtREFBbUQ7QUFDbkMsNENBQTJCLEdBQzFDLHVDQUF1QyxDQUFDO0FBQ3pDLCtDQUErQztBQUMvQix3Q0FBdUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM5RSw2Q0FBNkM7QUFDN0Isc0NBQXFCLEdBQUcsaUNBQWlDLENBQUM7QUFDMUUsc0NBQXNDO0FBQ3RCLCtCQUFjLEdBQUcsMEJBQTBCLENBQUM7QUFDNUQsNkRBQTZEO0FBQzdDLHNEQUFxQyxHQUNwRCxpREFBaUQsQ0FBQztBQUNuRCx5Q0FBeUM7QUFDekIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsOENBQThDO0FBQzlCLHVDQUFzQixHQUFHLGtDQUFrQyxDQUFDO0FBQzVFLHlDQUF5QztBQUN6QixrQ0FBaUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNsRSxzREFBc0Q7QUFDdEMsK0NBQThCLEdBQzdDLDBDQUEwQyxDQUFDO0FBQzVDLGtDQUFrQztBQUNsQiwyQkFBVSxHQUFHLHNCQUFzQixDQUFDO0FBQ3BELGtEQUFrRDtBQUNsQywyQ0FBMEIsR0FDekMsc0NBQXNDLENBQUM7QUFDeEMsNENBQTRDO0FBQzVCLHFDQUFvQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3hFLGdEQUFnRDtBQUNoQyx5Q0FBd0IsR0FDdkMsb0NBQW9DLENBQUM7QUFDdEMsK0NBQStDO0FBQy9CLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLDREQUE0RDtBQUM1QyxxREFBb0MsR0FDbkQsZ0RBQWdELENBQUM7QUFDbEQsNkNBQTZDO0FBQzdCLHNDQUFxQixHQUFHLGlDQUFpQyxDQUFDO0FBQzFFLDRDQUE0QztBQUM1QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSx1Q0FBdUM7QUFDdkIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxrREFBa0Q7QUFDbEMsMkNBQTBCLEdBQ3pDLHNDQUFzQyxDQUFDO0FBQ3hDLDhDQUE4QztBQUM5Qix1Q0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSwwREFBMEQ7QUFDMUMsbURBQWtDLEdBQ2pELDhDQUE4QyxDQUFDO0FBQ2hELDRDQUE0QztBQUM1QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxxQ0FBcUM7QUFDckIsOEJBQWEsR0FBRyx5QkFBeUIsQ0FBQztBQUMxRCwwQ0FBMEM7QUFDMUIsbUNBQWtCLEdBQUcsOEJBQThCLENBQUM7QUFDcEUsb0NBQW9DO0FBQ3BCLDZCQUFZLEdBQUcsd0JBQXdCLENBQUM7QUFDeEQsbUNBQW1DO0FBQ25CLDRCQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDdEQsNENBQTRDO0FBQzVCLHFDQUFvQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3hFLDZDQUE2QztBQUM3QixzQ0FBcUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUMxRSwrQ0FBK0M7QUFDL0Isd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsd0NBQXdDO0FBQ3hCLGlDQUFnQixHQUFHLDRCQUE0QixDQUFDO0FBQ2hFLGtDQUFrQztBQUNsQiwyQkFBVSxHQUFHLHNCQUFzQixDQUFDO0FBQ3BELHdDQUF3QztBQUN4QixpQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSxrREFBa0Q7QUFDbEMsMkNBQTBCLEdBQ3pDLHNDQUFzQyxDQUFDO0FBQ3hDLCtDQUErQztBQUMvQix3Q0FBdUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM5RSxnQ0FBZ0M7QUFDaEIseUJBQVEsR0FBRyxvQkFBb0IsQ0FBQztBQUNoRCx3Q0FBd0M7QUFDeEIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUsa0VBQWtFO0FBQ2xELDJEQUEwQyxHQUN6RCxzREFBc0QsQ0FBQztBQUN4RCx5Q0FBeUM7QUFDekIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUseUNBQXlDO0FBQ3pCLGtDQUFpQixHQUFHLDZCQUE2QixDQUFDO0FBQ2xFLDJDQUEyQztBQUMzQixvQ0FBbUIsR0FBRywrQkFBK0IsQ0FBQztBQUN0RSxrQ0FBa0M7QUFDbEIsMkJBQVUsR0FBRyxzQkFBc0IsQ0FBQztBQUNwRCwwREFBMEQ7QUFDMUMsbURBQWtDLEdBQ2pELDhDQUE4QyxDQUFDO0FBQ2hELHdDQUF3QztBQUN4QixpQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSxzQ0FBc0M7QUFDdEIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCxxQ0FBcUM7QUFDckIsOEJBQWEsR0FBRyx5QkFBeUIsQ0FBQztBQUMxRCw4Q0FBOEM7QUFDOUIsc0NBQXFCLEdBQUcsaUNBQWlDLENBQUM7QUFDMUUsbURBQW1EO0FBQ25DLDJDQUEwQixHQUN6QyxzQ0FBc0MsQ0FBQztBQUN4QyxrQ0FBa0M7QUFDbEIsMEJBQVMsR0FBRyxxQkFBcUIsQ0FBQztBQUNsRCwwQ0FBMEM7QUFDMUIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsb0NBQW9DO0FBQ3BCLDZCQUFZLEdBQUcsd0JBQXdCLENBQUM7QUFDeEQsd0NBQXdDO0FBQ3hCLGdDQUFlLEdBQUcsMkJBQTJCLENBQUM7QUFDOUQsd0NBQXdDO0FBQ3hCLGlDQUFnQixHQUFHLDRCQUE0QixDQUFDO0FBQ2hFLCtDQUErQztBQUMvQix1Q0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSwrQkFBK0I7QUFDZix1QkFBTSxHQUFHLGtCQUFrQixDQUFDO0FBQzVDLGlEQUFpRDtBQUNqQyx5Q0FBd0IsR0FDdkMsb0NBQW9DLENBQUM7QUFDdEMsOEJBQThCO0FBQ2QsdUJBQU0sR0FBRyxrQkFBa0IsQ0FBQztBQUM1QyxtREFBbUQ7QUFDbkMsNENBQTJCLEdBQzFDLHVDQUF1QyxDQUFDO0FBQ3pDLHNDQUFzQztBQUN0Qiw4QkFBYSxHQUFHLHlCQUF5QixDQUFDO0FBQzFELHlEQUF5RDtBQUN6QyxpREFBZ0MsR0FDL0MsNENBQTRDLENBQUM7QUFDOUMseURBQXlEO0FBQ3pDLGlEQUFnQyxHQUMvQyw0Q0FBNEMsQ0FBQztBQUM5Qyw2Q0FBNkM7QUFDN0IscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsZ0RBQWdEO0FBQ2hDLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLGlEQUFpRDtBQUNqQyx5Q0FBd0IsR0FDdkMsb0NBQW9DLENBQUM7QUFDdEMsdUNBQXVDO0FBQ3ZCLCtCQUFjLEdBQUcsMEJBQTBCLENBQUM7QUFDNUQsaURBQWlEO0FBQ2pDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0QyxrREFBa0Q7QUFDbEMsMENBQXlCLEdBQ3hDLHFDQUFxQyxDQUFDO0FBQ3ZDLGdEQUFnRDtBQUNoQyx3Q0FBdUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM5RSw4Q0FBOEM7QUFDOUIsc0NBQXFCLEdBQUcsaUNBQWlDLENBQUM7QUFDMUUsK0NBQStDO0FBQy9CLHVDQUFzQixHQUFHLGtDQUFrQyxDQUFDO0FBQzVFLHFDQUFxQztBQUNyQiw2QkFBWSxHQUFHLHdCQUF3QixDQUFDO0FBQ3hELDJDQUEyQztBQUMzQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsc0NBQXNDO0FBQ3RCLDhCQUFhLEdBQUcseUJBQXlCLENBQUM7QUFDMUQsMkNBQTJDO0FBQzNCLG1DQUFrQixHQUFHLDhCQUE4QixDQUFDO0FBQ3BFLGdEQUFnRDtBQUNoQyx3Q0FBdUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM5RSw2Q0FBNkM7QUFDN0IscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsc0NBQXNDO0FBQ3RCLDhCQUFhLEdBQUcseUJBQXlCLENBQUM7QUFDMUQsb0RBQW9EO0FBQ3BDLDRDQUEyQixHQUMxQyx1Q0FBdUMsQ0FBQztBQUN6QyxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsd0RBQXdEO0FBQ3hDLGdEQUErQixHQUM5QywyQ0FBMkMsQ0FBQztBQUM3QyxnQ0FBZ0M7QUFDaEIsd0JBQU8sR0FBRyxtQkFBbUIsQ0FBQztBQUM5Qyx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxpREFBaUQ7QUFDakMseUNBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDO0FBQ3RDLCtDQUErQztBQUMvQix1Q0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSw2Q0FBNkM7QUFDN0IscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsNENBQTRDO0FBQzVCLG9DQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLDhDQUE4QztBQUM5QixzQ0FBcUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUMxRSwwQ0FBMEM7QUFDMUIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsd0NBQXdDO0FBQ3hCLGdDQUFlLEdBQUcsMkJBQTJCLENBQUM7QUFDOUQseUNBQXlDO0FBQ3pCLGlDQUFnQixHQUFHLDRCQUE0QixDQUFDO0FBQ2hFLHNDQUFzQztBQUN0Qiw4QkFBYSxHQUFHLHlCQUF5QixDQUFDO0FBQzFELHFDQUFxQztBQUNyQiw2QkFBWSxHQUFHLHdCQUF3QixDQUFDO0FBQ3hELDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCxzQ0FBc0M7QUFDdEIsOEJBQWEsR0FBRyx5QkFBeUIsQ0FBQztBQUMxRCwrQ0FBK0M7QUFDL0IsdUNBQXNCLEdBQUcsa0NBQWtDLENBQUM7QUFDNUUscURBQXFEO0FBQ3JDLDZDQUE0QixHQUMzQyx3Q0FBd0MsQ0FBQztBQUMxQyw4Q0FBOEM7QUFDOUIsc0NBQXFCLEdBQUcsaUNBQWlDLENBQUM7QUFDMUUsNkNBQTZDO0FBQzdCLHFDQUFvQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3hFLDJDQUEyQztBQUMzQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSxzQ0FBc0M7QUFDdEIsOEJBQWEsR0FBRyx5QkFBeUIsQ0FBQztBQUMxRCwwQ0FBMEM7QUFDMUIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsc0NBQXNDO0FBQ3RCLDhCQUFhLEdBQUcseUJBQXlCLENBQUM7QUFDMUQscUNBQXFDO0FBQ3JCLDZCQUFZLEdBQUcsd0JBQXdCLENBQUM7QUFDeEQsdUNBQXVDO0FBQ3ZCLCtCQUFjLEdBQUcsMEJBQTBCLENBQUM7QUFDNUQsMkRBQTJEO0FBQzNDLG1EQUFrQyxHQUNqRCw4Q0FBOEMsQ0FBQztBQUNoRCx5Q0FBeUM7QUFDekIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUsMkNBQTJDO0FBQzNCLG1DQUFrQixHQUFHLDhCQUE4QixDQUFDO0FBQ3BFLDhDQUE4QztBQUM5QixzQ0FBcUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUMxRSxrQ0FBa0M7QUFDbEIsMEJBQVMsR0FBRyxxQkFBcUIsQ0FBQztBQUNsRCx5Q0FBeUM7QUFDekIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUsa0RBQWtEO0FBQ2xDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2QyxvQ0FBb0M7QUFDcEIsNEJBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUN0RCwyQ0FBMkM7QUFDM0IsbUNBQWtCLEdBQUcsOEJBQThCLENBQUM7QUFDcEUsaURBQWlEO0FBQ2pDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0Qyw4REFBOEQ7QUFDOUMsc0RBQXFDLEdBQ3BELGlEQUFpRCxDQUFDO0FBQ25ELGtEQUFrRDtBQUNsQywwQ0FBeUIsR0FDeEMscUNBQXFDLENBQUM7QUFDdkMsd0NBQXdDO0FBQ3hCLGdDQUFlLEdBQUcsMkJBQTJCLENBQUM7QUFDOUQsbURBQW1EO0FBQ25DLDJDQUEwQixHQUN6QyxzQ0FBc0MsQ0FBQztBQUN4Qyx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCwyQ0FBMkM7QUFDM0IsbUNBQWtCLEdBQUcsOEJBQThCLENBQUM7QUFDcEUsOENBQThDO0FBQzlCLHNDQUFxQixHQUFHLGlDQUFpQyxDQUFDO0FBQzFFLGlEQUFpRDtBQUNqQyx5Q0FBd0IsR0FDdkMsb0NBQW9DLENBQUM7QUFDdEMsK0NBQStDO0FBQy9CLHVDQUFzQixHQUFHLGtDQUFrQyxDQUFDO0FBQzVFLDhEQUE4RDtBQUM5QyxzREFBcUMsR0FDcEQsaURBQWlELENBQUM7QUFDbkQseUNBQXlDO0FBQ3pCLGlDQUFnQixHQUFHLDRCQUE0QixDQUFDO0FBQ2hFLHVDQUF1QztBQUN2QiwrQkFBYyxHQUFHLDBCQUEwQixDQUFDO0FBQzVELGdEQUFnRDtBQUNoQyx3Q0FBdUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM5RSw4Q0FBOEM7QUFDOUIsc0NBQXFCLEdBQUcsaUNBQWlDLENBQUM7QUFDMUUsc0NBQXNDO0FBQ3RCLDhCQUFhLEdBQUcseUJBQXlCLENBQUM7QUFDMUQscUNBQXFDO0FBQ3JCLDZCQUFZLEdBQUcsd0JBQXdCLENBQUM7QUFDeEQsMENBQTBDO0FBQzFCLGtDQUFpQixHQUFHLDZCQUE2QixDQUFDO0FBQ2xFLG9DQUFvQztBQUNwQiw0QkFBVyxHQUFHLHVCQUF1QixDQUFDO0FBQ3RELDBDQUEwQztBQUMxQixrQ0FBaUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNsRSxvQ0FBb0M7QUFDcEIsNEJBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUN0RCw2Q0FBNkM7QUFDN0IscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsMENBQTBDO0FBQzFCLGtDQUFpQixHQUFHLDZCQUE2QixDQUFDO0FBQ2xFLHdDQUF3QztBQUN4QixnQ0FBZSxHQUFHLDJCQUEyQixDQUFDO0FBQzlELHVDQUF1QztBQUN2QiwrQkFBYyxHQUFHLDBCQUEwQixDQUFDO0FBRTVELDhCQUE4QjtBQUNkLCtCQUFjLEdBQWE7SUFDMUMsZ0JBQWdCLENBQUMsa0JBQWtCO0lBQ25DLGdCQUFnQixDQUFDLHlCQUF5QjtJQUMxQyxnQkFBZ0IsQ0FBQyxlQUFlO0lBQ2hDLGdCQUFnQixDQUFDLGNBQWM7SUFDL0IsZ0JBQWdCLENBQUMsbUJBQW1CO0lBQ3BDLGdCQUFnQixDQUFDLDZCQUE2QjtJQUM5QyxnQkFBZ0IsQ0FBQyxzQkFBc0I7SUFDdkMsZ0JBQWdCLENBQUMsMkJBQTJCO0lBQzVDLGdCQUFnQixDQUFDLHdCQUF3QjtJQUN6QyxnQkFBZ0IsQ0FBQyxjQUFjO0lBQy9CLGdCQUFnQixDQUFDLGlCQUFpQjtJQUNsQyxnQkFBZ0IsQ0FBQyxXQUFXO0lBQzVCLGdCQUFnQixDQUFDLHNCQUFzQjtJQUN2QyxnQkFBZ0IsQ0FBQyxnQkFBZ0I7SUFDakMsZ0JBQWdCLENBQUMsaUJBQWlCO0lBQ2xDLGdCQUFnQixDQUFDLG1CQUFtQjtJQUNwQyxnQkFBZ0IsQ0FBQyxlQUFlO0lBQ2hDLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyx3QkFBd0I7SUFDekMsZ0JBQWdCLENBQUMsbUJBQW1CO0lBQ3BDLGdCQUFnQixDQUFDLDhCQUE4QjtJQUMvQyxnQkFBZ0IsQ0FBQyxzQkFBc0I7SUFDdkMsZ0JBQWdCLENBQUMsc0JBQXNCO0lBQ3ZDLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyxlQUFlO0lBQ2hDLGdCQUFnQixDQUFDLGdDQUFnQztJQUNqRCxnQkFBZ0IsQ0FBQyxjQUFjO0lBQy9CLGdCQUFnQixDQUFDLG1CQUFtQjtJQUNwQyxnQkFBZ0IsQ0FBQyxjQUFjO0lBQy9CLGdCQUFnQixDQUFDLDBCQUEwQjtJQUMzQyxnQkFBZ0IsQ0FBQyx3QkFBd0I7SUFDekMsZ0JBQWdCLENBQUMsZ0JBQWdCO0lBQ2pDLGdCQUFnQixDQUFDLHNCQUFzQjtJQUN2QyxnQkFBZ0IsQ0FBQyxrQkFBa0I7SUFDbkMsZ0JBQWdCLENBQUMsb0JBQW9CO0lBQ3JDLGdCQUFnQixDQUFDLHVCQUF1QjtJQUN4QyxnQkFBZ0IsQ0FBQyxzQkFBc0I7SUFDdkMsZ0JBQWdCLENBQUMsV0FBVztJQUM1QixnQkFBZ0IsQ0FBQyxrQkFBa0I7SUFDbkMsZ0JBQWdCLENBQUMsaUJBQWlCO0lBQ2xDLGdCQUFnQixDQUFDLG1CQUFtQjtJQUNwQyxnQkFBZ0IsQ0FBQywrQkFBK0I7SUFDaEQsZ0JBQWdCLENBQUMsYUFBYTtJQUM5QixnQkFBZ0IsQ0FBQyxvQkFBb0I7SUFDckMsZ0JBQWdCLENBQUMsMEJBQTBCO0lBQzNDLGdCQUFnQixDQUFDLDJCQUEyQjtJQUM1QyxnQkFBZ0IsQ0FBQyxtQ0FBbUM7SUFDcEQsZ0JBQWdCLENBQUMsV0FBVztJQUM1QixnQkFBZ0IsQ0FBQyx3QkFBd0I7SUFDekMsZ0JBQWdCLENBQUMsbUJBQW1CO0lBQ3BDLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsNEJBQTRCO0lBQzdDLGdCQUFnQixDQUFDLGFBQWE7SUFDOUIsZ0JBQWdCLENBQUMsOEJBQThCO0lBQy9DLGdCQUFnQixDQUFDLGlCQUFpQjtJQUNsQyxnQkFBZ0IsQ0FBQywwQkFBMEI7SUFDM0MsZ0JBQWdCLENBQUMsd0NBQXdDO0lBQ3pELGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyx5QkFBeUI7SUFDMUMsZ0JBQWdCLENBQUMsaUNBQWlDO0lBQ2xELGdCQUFnQixDQUFDLDBCQUEwQjtJQUMzQyxnQkFBZ0IsQ0FBQyx3QkFBd0I7SUFDekMsZ0JBQWdCLENBQUMsdUNBQXVDO0lBQ3hELGdCQUFnQixDQUFDLHVCQUF1QjtJQUN4QyxnQkFBZ0IsQ0FBQyxrQkFBa0I7SUFDbkMsZ0JBQWdCLENBQUMsZ0JBQWdCO0lBQ2pDLGdCQUFnQixDQUFDLHNDQUFzQztJQUN2RCxnQkFBZ0IsQ0FBQyx5QkFBeUI7SUFDMUMsZ0JBQWdCLENBQUMscUJBQXFCO0lBQ3RDLGdCQUFnQixDQUFDLGVBQWU7SUFDaEMsZ0JBQWdCLENBQUMsd0JBQXdCO0lBQ3pDLGdCQUFnQixDQUFDLG1CQUFtQjtJQUNwQyxnQkFBZ0IsQ0FBQyxhQUFhO0lBQzlCLGdCQUFnQixDQUFDLDZCQUE2QjtJQUM5QyxnQkFBZ0IsQ0FBQywwQkFBMEI7SUFDM0MsZ0JBQWdCLENBQUMsbUJBQW1CO0lBQ3BDLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyxvQ0FBb0M7SUFDckQsZ0JBQWdCLENBQUMsb0JBQW9CO0lBQ3JDLGdCQUFnQixDQUFDLGFBQWE7SUFDOUIsZ0JBQWdCLENBQUMsc0JBQXNCO0lBQ3ZDLGdCQUFnQixDQUFDLG1CQUFtQjtJQUNwQyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsZ0JBQWdCO0lBQ2pDLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQywwQkFBMEI7SUFDM0MsZ0JBQWdCLENBQUMsMkJBQTJCO0lBQzVDLGdCQUFnQixDQUFDLDJCQUEyQjtJQUM1QyxnQkFBZ0IsQ0FBQyxnQ0FBZ0M7SUFDakQsZ0JBQWdCLENBQUMsZUFBZTtJQUNoQyxnQkFBZ0IsQ0FBQyx1QkFBdUI7SUFDeEMsZ0JBQWdCLENBQUMsK0NBQStDO0lBQ2hFLGdCQUFnQixDQUFDLDJDQUEyQztJQUM1RCxnQkFBZ0IsQ0FBQywwQkFBMEI7SUFDM0MsZ0JBQWdCLENBQUMsY0FBYztJQUMvQixnQkFBZ0IsQ0FBQyxtQkFBbUI7SUFDcEMsZ0JBQWdCLENBQUMsZ0NBQWdDO0lBQ2pELGdCQUFnQixDQUFDLGdCQUFnQjtJQUNqQyxnQkFBZ0IsQ0FBQyxNQUFNO0lBQ3ZCLGdCQUFnQixDQUFDLDJCQUEyQjtDQUM1QyxDQUFDO0FBQ0YsK0JBQStCO0FBQ2YsZ0NBQWUsR0FBYTtJQUMzQyxnQkFBZ0IsQ0FBQyxjQUFjO0lBQy9CLGdCQUFnQixDQUFDLHVCQUF1QjtJQUN4QyxnQkFBZ0IsQ0FBQyx1QkFBdUI7SUFDeEMsZ0JBQWdCLENBQUMsb0JBQW9CO0lBQ3JDLGdCQUFnQixDQUFDLHVCQUF1QjtJQUN4QyxnQkFBZ0IsQ0FBQyxlQUFlO0lBQ2hDLGdCQUFnQixDQUFDLHVCQUF1QjtJQUN4QyxnQkFBZ0IsQ0FBQyx3QkFBd0I7SUFDekMsZ0JBQWdCLENBQUMsZ0JBQWdCO0lBQ2pDLGdCQUFnQixDQUFDLGdCQUFnQjtJQUNqQyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsZUFBZTtJQUNoQyxnQkFBZ0IsQ0FBQyxvQkFBb0I7SUFDckMsZ0JBQWdCLENBQUMseUJBQXlCO0lBQzFDLGdCQUFnQixDQUFDLHNCQUFzQjtJQUN2QyxnQkFBZ0IsQ0FBQyxZQUFZO0lBQzdCLGdCQUFnQixDQUFDLGVBQWU7SUFDaEMsZ0JBQWdCLENBQUMsU0FBUztJQUMxQixnQkFBZ0IsQ0FBQyxvQkFBb0I7SUFDckMsZ0JBQWdCLENBQUMsY0FBYztJQUMvQixnQkFBZ0IsQ0FBQyxlQUFlO0lBQ2hDLGdCQUFnQixDQUFDLGlCQUFpQjtJQUNsQyxnQkFBZ0IsQ0FBQyxhQUFhO0lBQzlCLGdCQUFnQixDQUFDLDRCQUE0QjtJQUM3QyxnQkFBZ0IsQ0FBQyxvQkFBb0I7SUFDckMsZ0JBQWdCLENBQUMsb0JBQW9CO0lBQ3JDLGdCQUFnQixDQUFDLGtCQUFrQjtJQUNuQyxnQkFBZ0IsQ0FBQyxhQUFhO0lBQzlCLGdCQUFnQixDQUFDLDhCQUE4QjtJQUMvQyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsWUFBWTtJQUM3QixnQkFBZ0IsQ0FBQyx3QkFBd0I7SUFDekMsZ0JBQWdCLENBQUMseUJBQXlCO0lBQzFDLGdCQUFnQixDQUFDLHNCQUFzQjtJQUN2QyxnQkFBZ0IsQ0FBQyxjQUFjO0lBQy9CLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyxnQkFBZ0I7SUFDakMsZ0JBQWdCLENBQUMsa0JBQWtCO0lBQ25DLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyxTQUFTO0lBQzFCLGdCQUFnQixDQUFDLHlCQUF5QjtJQUMxQyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsNkJBQTZCO0lBQzlDLGdCQUFnQixDQUFDLFdBQVc7SUFDNUIsZ0JBQWdCLENBQUMsa0JBQWtCO0lBQ25DLGdCQUFnQixDQUFDLHdCQUF3QjtJQUN6QyxnQkFBZ0IsQ0FBQyx5QkFBeUI7SUFDMUMsZ0JBQWdCLENBQUMsaUNBQWlDO0lBQ2xELGdCQUFnQixDQUFDLFNBQVM7SUFDMUIsZ0JBQWdCLENBQUMsaUJBQWlCO0lBQ2xDLGdCQUFnQixDQUFDLHdCQUF3QjtJQUN6QyxnQkFBZ0IsQ0FBQyxlQUFlO0lBQ2hDLGdCQUFnQixDQUFDLDBCQUEwQjtJQUMzQyxnQkFBZ0IsQ0FBQyxXQUFXO0lBQzVCLGdCQUFnQixDQUFDLDRCQUE0QjtJQUM3QyxnQkFBZ0IsQ0FBQyxlQUFlO0lBQ2hDLGdCQUFnQixDQUFDLHdCQUF3QjtJQUN6QyxnQkFBZ0IsQ0FBQyxzQ0FBc0M7SUFDdkQsZ0JBQWdCLENBQUMsa0JBQWtCO0lBQ25DLGdCQUFnQixDQUFDLHVCQUF1QjtJQUN4QyxnQkFBZ0IsQ0FBQywrQkFBK0I7SUFDaEQsZ0JBQWdCLENBQUMsd0JBQXdCO0lBQ3pDLGdCQUFnQixDQUFDLHNCQUFzQjtJQUN2QyxnQkFBZ0IsQ0FBQyxxQ0FBcUM7SUFDdEQsZ0JBQWdCLENBQUMscUJBQXFCO0lBQ3RDLGdCQUFnQixDQUFDLGdCQUFnQjtJQUNqQyxnQkFBZ0IsQ0FBQyw0QkFBNEI7SUFDN0MsZ0JBQWdCLENBQUMsY0FBYztJQUMvQixnQkFBZ0IsQ0FBQyx3QkFBd0I7SUFDekMsZ0JBQWdCLENBQUMsMkJBQTJCO0lBQzVDLGdCQUFnQixDQUFDLHNDQUFzQztJQUN2RCxnQkFBZ0IsQ0FBQyxrQ0FBa0M7SUFDbkQsZ0JBQWdCLENBQUMsbUJBQW1CO0lBQ3BDLGdCQUFnQixDQUFDLGFBQWE7SUFDOUIsZ0JBQWdCLENBQUMsc0JBQXNCO0lBQ3ZDLGdCQUFnQixDQUFDLGlCQUFpQjtJQUNsQyxnQkFBZ0IsQ0FBQyxXQUFXO0lBQzVCLGdCQUFnQixDQUFDLDJCQUEyQjtJQUM1QyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsa0JBQWtCO0lBQ25DLGdCQUFnQixDQUFDLGtCQUFrQjtJQUNuQyxnQkFBZ0IsQ0FBQyxXQUFXO0lBQzVCLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsZUFBZTtJQUNoQyxnQkFBZ0IsQ0FBQyxjQUFjO0lBQy9CLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyx5QkFBeUI7SUFDMUMsZ0JBQWdCLENBQUMsc0JBQXNCO0lBQ3ZDLGdCQUFnQixDQUFDLFlBQVk7SUFDN0IsZ0JBQWdCLENBQUMsZUFBZTtJQUNoQyxnQkFBZ0IsQ0FBQyxTQUFTO0lBQzFCLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyxjQUFjO0lBQy9CLGdCQUFnQixDQUFDLGlCQUFpQjtJQUNsQyxnQkFBZ0IsQ0FBQyxhQUFhO0lBQzlCLGdCQUFnQixDQUFDLDRCQUE0QjtJQUM3QyxnQkFBZ0IsQ0FBQyxvQkFBb0I7SUFDckMsZ0JBQWdCLENBQUMsb0JBQW9CO0lBQ3JDLGdCQUFnQixDQUFDLGtCQUFrQjtJQUNuQyxnQkFBZ0IsQ0FBQyxhQUFhO0lBQzlCLGdCQUFnQixDQUFDLDhCQUE4QjtJQUMvQyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsWUFBWTtJQUM3QixnQkFBZ0IsQ0FBQyx3QkFBd0I7SUFDekMsZ0JBQWdCLENBQUMseUJBQXlCO0lBQzFDLGdCQUFnQixDQUFDLGNBQWM7SUFDL0IsZ0JBQWdCLENBQUMsb0JBQW9CO0lBQ3JDLGdCQUFnQixDQUFDLGdCQUFnQjtJQUNqQyxnQkFBZ0IsQ0FBQyxrQkFBa0I7SUFDbkMsZ0JBQWdCLENBQUMsb0JBQW9CO0lBQ3JDLGdCQUFnQixDQUFDLFNBQVM7SUFDMUIsZ0JBQWdCLENBQUMsZ0JBQWdCO0lBQ2pDLGdCQUFnQixDQUFDLHlCQUF5QjtJQUMxQyxnQkFBZ0IsQ0FBQyxlQUFlO0lBQ2hDLGdCQUFnQixDQUFDLGlCQUFpQjtJQUNsQyxnQkFBZ0IsQ0FBQyw2QkFBNkI7SUFDOUMsZ0JBQWdCLENBQUMsV0FBVztJQUM1QixnQkFBZ0IsQ0FBQyxrQkFBa0I7SUFDbkMsZ0JBQWdCLENBQUMsd0JBQXdCO0lBQ3pDLGdCQUFnQixDQUFDLHlCQUF5QjtJQUMxQyxnQkFBZ0IsQ0FBQyxTQUFTO0lBQzFCLGdCQUFnQixDQUFDLHdCQUF3QjtJQUN6QyxnQkFBZ0IsQ0FBQyxlQUFlO0lBQ2hDLGdCQUFnQixDQUFDLDBCQUEwQjtJQUMzQyxnQkFBZ0IsQ0FBQyxXQUFXO0lBQzVCLGdCQUFnQixDQUFDLDRCQUE0QjtJQUM3QyxnQkFBZ0IsQ0FBQyxlQUFlO0lBQ2hDLGdCQUFnQixDQUFDLHNDQUFzQztJQUN2RCxnQkFBZ0IsQ0FBQyxrQkFBa0I7SUFDbkMsZ0JBQWdCLENBQUMsdUJBQXVCO0lBQ3hDLGdCQUFnQixDQUFDLDZCQUE2QjtJQUM5QyxnQkFBZ0IsQ0FBQywrQkFBK0I7SUFDaEQsZ0JBQWdCLENBQUMsd0JBQXdCO0lBQ3pDLGdCQUFnQixDQUFDLHNCQUFzQjtJQUN2QyxnQkFBZ0IsQ0FBQyxxQ0FBcUM7SUFDdEQsZ0JBQWdCLENBQUMscUJBQXFCO0lBQ3RDLGdCQUFnQixDQUFDLGdCQUFnQjtJQUNqQyxnQkFBZ0IsQ0FBQyxjQUFjO0lBQy9CLGdCQUFnQixDQUFDLG1CQUFtQjtJQUNwQyxnQkFBZ0IsQ0FBQyxhQUFhO0lBQzlCLGdCQUFnQixDQUFDLFlBQVk7SUFDN0IsZ0JBQWdCLENBQUMsb0JBQW9CO0lBQ3JDLGdCQUFnQixDQUFDLFdBQVc7SUFDNUIsZ0JBQWdCLENBQUMsMkJBQTJCO0lBQzVDLGdCQUFnQixDQUFDLGlCQUFpQjtJQUNsQyxnQkFBZ0IsQ0FBQyxXQUFXO0lBQzVCLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsZUFBZTtJQUNoQyxnQkFBZ0IsQ0FBQyxjQUFjO0lBQy9CLGdCQUFnQixDQUFDLGNBQWM7SUFDL0IsZ0JBQWdCLENBQUMsaUJBQWlCO0lBQ2xDLGdCQUFnQixDQUFDLHVCQUF1QjtJQUN4QyxnQkFBZ0IsQ0FBQyx1Q0FBdUM7SUFDeEQsZ0JBQWdCLENBQUMsMEJBQTBCO0lBQzNDLGdCQUFnQixDQUFDLHNDQUFzQztJQUN2RCxnQkFBZ0IsQ0FBQyxrQkFBa0I7SUFDbkMsZ0JBQWdCLENBQUMsZ0JBQWdCO0lBQ2pDLGdCQUFnQixDQUFDLHFCQUFxQjtJQUN0QyxnQkFBZ0IsQ0FBQywwQkFBMEI7SUFDM0MsZ0JBQWdCLENBQUMsU0FBUztJQUMxQixnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsZUFBZTtJQUNoQyxnQkFBZ0IsQ0FBQyxzQkFBc0I7SUFDdkMsZ0JBQWdCLENBQUMsTUFBTTtJQUN2QixnQkFBZ0IsQ0FBQyx3QkFBd0I7SUFDekMsZ0JBQWdCLENBQUMsYUFBYTtJQUM5QixnQkFBZ0IsQ0FBQyxnQ0FBZ0M7SUFDakQsZ0JBQWdCLENBQUMsZ0NBQWdDO0lBQ2pELGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyx1QkFBdUI7SUFDeEMsZ0JBQWdCLENBQUMsd0JBQXdCO0lBQ3pDLGdCQUFnQixDQUFDLGNBQWM7SUFDL0IsZ0JBQWdCLENBQUMsd0JBQXdCO0lBQ3pDLGdCQUFnQixDQUFDLHlCQUF5QjtJQUMxQyxnQkFBZ0IsQ0FBQyx1QkFBdUI7SUFDeEMsZ0JBQWdCLENBQUMscUJBQXFCO0lBQ3RDLGdCQUFnQixDQUFDLHNCQUFzQjtJQUN2QyxnQkFBZ0IsQ0FBQyxZQUFZO0lBQzdCLGdCQUFnQixDQUFDLGtCQUFrQjtJQUNuQyxnQkFBZ0IsQ0FBQyx1QkFBdUI7SUFDeEMsZ0JBQWdCLENBQUMsYUFBYTtJQUM5QixnQkFBZ0IsQ0FBQyxrQkFBa0I7SUFDbkMsZ0JBQWdCLENBQUMsdUJBQXVCO0lBQ3hDLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyxhQUFhO0lBQzlCLGdCQUFnQixDQUFDLDJCQUEyQjtJQUM1QyxnQkFBZ0IsQ0FBQyx1QkFBdUI7SUFDeEMsZ0JBQWdCLENBQUMsK0JBQStCO0lBQ2hELGdCQUFnQixDQUFDLE9BQU87SUFDeEIsZ0JBQWdCLENBQUMsZUFBZTtJQUNoQyxnQkFBZ0IsQ0FBQyx3QkFBd0I7SUFDekMsZ0JBQWdCLENBQUMsc0JBQXNCO0lBQ3ZDLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyxtQkFBbUI7SUFDcEMsZ0JBQWdCLENBQUMscUJBQXFCO0lBQ3RDLGdCQUFnQixDQUFDLGlCQUFpQjtJQUNsQyxnQkFBZ0IsQ0FBQyxlQUFlO0lBQ2hDLGdCQUFnQixDQUFDLGdCQUFnQjtJQUNqQyxnQkFBZ0IsQ0FBQyxhQUFhO0lBQzlCLGdCQUFnQixDQUFDLFlBQVk7SUFDN0IsZ0JBQWdCLENBQUMsb0JBQW9CO0lBQ3JDLGdCQUFnQixDQUFDLGNBQWM7SUFDL0IsZ0JBQWdCLENBQUMsYUFBYTtJQUM5QixnQkFBZ0IsQ0FBQyxzQkFBc0I7SUFDdkMsZ0JBQWdCLENBQUMsNEJBQTRCO0lBQzdDLGdCQUFnQixDQUFDLHFCQUFxQjtJQUN0QyxnQkFBZ0IsQ0FBQyxvQkFBb0I7SUFDckMsZ0JBQWdCLENBQUMsa0JBQWtCO0lBQ25DLGdCQUFnQixDQUFDLGFBQWE7SUFDOUIsZ0JBQWdCLENBQUMsaUJBQWlCO0lBQ2xDLGdCQUFnQixDQUFDLGFBQWE7SUFDOUIsZ0JBQWdCLENBQUMsWUFBWTtJQUM3QixnQkFBZ0IsQ0FBQyxjQUFjO0lBQy9CLGdCQUFnQixDQUFDLGtDQUFrQztJQUNuRCxnQkFBZ0IsQ0FBQyxnQkFBZ0I7SUFDakMsZ0JBQWdCLENBQUMsa0JBQWtCO0lBQ25DLGdCQUFnQixDQUFDLHFCQUFxQjtJQUN0QyxnQkFBZ0IsQ0FBQyxTQUFTO0lBQzFCLGdCQUFnQixDQUFDLGdCQUFnQjtJQUNqQyxnQkFBZ0IsQ0FBQyx5QkFBeUI7SUFDMUMsZ0JBQWdCLENBQUMsV0FBVztJQUM1QixnQkFBZ0IsQ0FBQyxrQkFBa0I7SUFDbkMsZ0JBQWdCLENBQUMsd0JBQXdCO0lBQ3pDLGdCQUFnQixDQUFDLHFDQUFxQztJQUN0RCxnQkFBZ0IsQ0FBQyx5QkFBeUI7SUFDMUMsZ0JBQWdCLENBQUMsZUFBZTtJQUNoQyxnQkFBZ0IsQ0FBQywwQkFBMEI7SUFDM0MsZ0JBQWdCLENBQUMsZUFBZTtJQUNoQyxnQkFBZ0IsQ0FBQyxrQkFBa0I7SUFDbkMsZ0JBQWdCLENBQUMscUJBQXFCO0lBQ3RDLGdCQUFnQixDQUFDLHdCQUF3QjtJQUN6QyxnQkFBZ0IsQ0FBQyxzQkFBc0I7SUFDdkMsZ0JBQWdCLENBQUMscUNBQXFDO0lBQ3RELGdCQUFnQixDQUFDLGdCQUFnQjtJQUNqQyxnQkFBZ0IsQ0FBQyxjQUFjO0lBQy9CLGdCQUFnQixDQUFDLHVCQUF1QjtJQUN4QyxnQkFBZ0IsQ0FBQyxxQkFBcUI7SUFDdEMsZ0JBQWdCLENBQUMsYUFBYTtJQUM5QixnQkFBZ0IsQ0FBQyxZQUFZO0lBQzdCLGdCQUFnQixDQUFDLGlCQUFpQjtJQUNsQyxnQkFBZ0IsQ0FBQyxXQUFXO0lBQzVCLGdCQUFnQixDQUFDLGlCQUFpQjtJQUNsQyxnQkFBZ0IsQ0FBQyxXQUFXO0lBQzVCLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsZUFBZTtJQUNoQyxnQkFBZ0IsQ0FBQyxjQUFjO0NBQy9CLENBQUM7QUFDRiw4QkFBOEI7QUFDZCwrQkFBYyxHQUFhO0lBQzFDLGdCQUFnQixDQUFDLG1CQUFtQjtJQUNwQyxnQkFBZ0IsQ0FBQyx3QkFBd0I7SUFDekMsZ0JBQWdCLENBQUMscUJBQXFCO0lBQ3RDLGdCQUFnQixDQUFDLFdBQVc7SUFDNUIsZ0JBQWdCLENBQUMsY0FBYztJQUMvQixnQkFBZ0IsQ0FBQyxXQUFXO0lBQzVCLGdCQUFnQixDQUFDLG1CQUFtQjtJQUNwQyxnQkFBZ0IsQ0FBQyxRQUFRO0lBQ3pCLGdCQUFnQixDQUFDLGFBQWE7SUFDOUIsZ0JBQWdCLENBQUMsZ0JBQWdCO0lBQ2pDLGdCQUFnQixDQUFDLGNBQWM7SUFDL0IsZ0JBQWdCLENBQUMsMEJBQTBCO0lBQzNDLGdCQUFnQixDQUFDLGlCQUFpQjtJQUNsQyxnQkFBZ0IsQ0FBQyxnQkFBZ0I7SUFDakMsZ0JBQWdCLENBQUMsMkJBQTJCO0lBQzVDLGdCQUFnQixDQUFDLFlBQVk7SUFDN0IsZ0JBQWdCLENBQUMsb0JBQW9CO0lBQ3JDLGdCQUFnQixDQUFDLG1CQUFtQjtJQUNwQyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsWUFBWTtJQUM3QixnQkFBZ0IsQ0FBQyw2QkFBNkI7SUFDOUMsZ0JBQWdCLENBQUMsZ0JBQWdCO0lBQ2pDLGdCQUFnQixDQUFDLFdBQVc7SUFDNUIsZ0JBQWdCLENBQUMsV0FBVztJQUM1QixnQkFBZ0IsQ0FBQyx1QkFBdUI7SUFDeEMsZ0JBQWdCLENBQUMscUJBQXFCO0lBQ3RDLGdCQUFnQixDQUFDLG1CQUFtQjtJQUNwQyxnQkFBZ0IsQ0FBQyxhQUFhO0lBQzlCLGdCQUFnQixDQUFDLGVBQWU7SUFDaEMsZ0JBQWdCLENBQUMsaUJBQWlCO0lBQ2xDLGdCQUFnQixDQUFDLG1CQUFtQjtJQUNwQyxnQkFBZ0IsQ0FBQyxzQkFBc0I7SUFDdkMsZ0JBQWdCLENBQUMsZUFBZTtJQUNoQyxnQkFBZ0IsQ0FBQyxRQUFRO0lBQ3pCLGdCQUFnQixDQUFDLGNBQWM7SUFDL0IsZ0JBQWdCLENBQUMsZ0JBQWdCO0lBQ2pDLGdCQUFnQixDQUFDLDRCQUE0QjtJQUM3QyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsVUFBVTtJQUMzQixnQkFBZ0IsQ0FBQyx1QkFBdUI7SUFDeEMsZ0JBQWdCLENBQUMsd0JBQXdCO0lBQ3pDLGdCQUFnQixDQUFDLG9DQUFvQztJQUNyRCxnQkFBZ0IsQ0FBQyxnQ0FBZ0M7SUFDakQsZ0JBQWdCLENBQUMscUJBQXFCO0lBQ3RDLGdCQUFnQixDQUFDLFFBQVE7SUFDekIsZ0JBQWdCLENBQUMsZ0JBQWdCO0lBQ2pDLGdCQUFnQixDQUFDLDJCQUEyQjtJQUM1QyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsY0FBYztJQUMvQixnQkFBZ0IsQ0FBQyx5QkFBeUI7SUFDMUMsZ0JBQWdCLENBQUMsMkJBQTJCO0lBQzVDLGdCQUFnQixDQUFDLHVCQUF1QjtJQUN4QyxnQkFBZ0IsQ0FBQyxxQkFBcUI7SUFDdEMsZ0JBQWdCLENBQUMsY0FBYztJQUMvQixnQkFBZ0IsQ0FBQyxxQ0FBcUM7SUFDdEQsZ0JBQWdCLENBQUMsaUJBQWlCO0lBQ2xDLGdCQUFnQixDQUFDLHNCQUFzQjtJQUN2QyxnQkFBZ0IsQ0FBQyxpQkFBaUI7SUFDbEMsZ0JBQWdCLENBQUMsOEJBQThCO0lBQy9DLGdCQUFnQixDQUFDLFVBQVU7SUFDM0IsZ0JBQWdCLENBQUMsMEJBQTBCO0lBQzNDLGdCQUFnQixDQUFDLG9CQUFvQjtJQUNyQyxnQkFBZ0IsQ0FBQyx3QkFBd0I7SUFDekMsZ0JBQWdCLENBQUMsdUJBQXVCO0lBQ3hDLGdCQUFnQixDQUFDLG9DQUFvQztJQUNyRCxnQkFBZ0IsQ0FBQyxxQkFBcUI7SUFDdEMsZ0JBQWdCLENBQUMsb0JBQW9CO0lBQ3JDLGdCQUFnQixDQUFDLGVBQWU7SUFDaEMsZ0JBQWdCLENBQUMsMEJBQTBCO0lBQzNDLGdCQUFnQixDQUFDLHNCQUFzQjtJQUN2QyxnQkFBZ0IsQ0FBQyxrQ0FBa0M7SUFDbkQsZ0JBQWdCLENBQUMsb0JBQW9CO0lBQ3JDLGdCQUFnQixDQUFDLGFBQWE7SUFDOUIsZ0JBQWdCLENBQUMsa0JBQWtCO0lBQ25DLGdCQUFnQixDQUFDLFlBQVk7SUFDN0IsZ0JBQWdCLENBQUMsV0FBVztJQUM1QixnQkFBZ0IsQ0FBQyxvQkFBb0I7SUFDckMsZ0JBQWdCLENBQUMscUJBQXFCO0lBQ3RDLGdCQUFnQixDQUFDLHVCQUF1QjtJQUN4QyxnQkFBZ0IsQ0FBQyxnQkFBZ0I7SUFDakMsZ0JBQWdCLENBQUMsVUFBVTtJQUMzQixnQkFBZ0IsQ0FBQyxnQkFBZ0I7SUFDakMsZ0JBQWdCLENBQUMsMEJBQTBCO0lBQzNDLGdCQUFnQixDQUFDLHVCQUF1QjtJQUN4QyxnQkFBZ0IsQ0FBQyxRQUFRO0lBQ3pCLGdCQUFnQixDQUFDLGdCQUFnQjtJQUNqQyxnQkFBZ0IsQ0FBQywwQ0FBMEM7SUFDM0QsZ0JBQWdCLENBQUMsaUJBQWlCO0lBQ2xDLGdCQUFnQixDQUFDLGlCQUFpQjtJQUNsQyxnQkFBZ0IsQ0FBQyxtQkFBbUI7SUFDcEMsZ0JBQWdCLENBQUMsVUFBVTtJQUMzQixnQkFBZ0IsQ0FBQyxrQ0FBa0M7SUFDbkQsZ0JBQWdCLENBQUMsZ0JBQWdCO0lBQ2pDLGdCQUFnQixDQUFDLGNBQWM7SUFDL0IsZ0JBQWdCLENBQUMsYUFBYTtJQUM5QixnQkFBZ0IsQ0FBQyxZQUFZO0NBQzdCLENBQUM7QUFDRiwrQ0FBK0M7QUFDL0IsK0NBQThCLEdBQWEsRUFBRSxDQUFDO0FBQzlELGlDQUFpQztBQUNqQixrQ0FBaUIsR0FBYTtJQUM3QyxnQkFBZ0IsQ0FBQyxPQUFPO0lBQ3hCLGdCQUFnQixDQUFDLFVBQVU7Q0FDM0IsQ0FBQztBQW1qRUgsTUFBTSxjQUFjLEdBQ25CLHVHQUF1RyxDQUFDO0FBQ3pHLE1BQU0sc0JBQXNCLEdBQzNCLHlIQUF5SCxDQUFDO0FBQzNILE1BQU0sMkJBQTJCLEdBQ2hDLG1JQUFtSSxDQUFDO0FBQ3JJLE1BQU0sd0JBQXdCLEdBQzdCLDZIQUE2SCxDQUFDO0FBQy9ILE1BQU0saUJBQWlCLEdBQ3RCLDZHQUE2RyxDQUFDO0FBQy9HLE1BQU0sV0FBVyxHQUNoQix5S0FBeUssQ0FBQztBQUMzSyxNQUFNLHNCQUFzQixHQUMzQix5SEFBeUgsQ0FBQztBQUMzSCxNQUFNLGdCQUFnQixHQUNyQixtSEFBbUgsQ0FBQztBQUNySCxNQUFNLGlCQUFpQixHQUN0QixpSEFBaUgsQ0FBQztBQUNuSCxNQUFNLGVBQWUsR0FDcEIsdUdBQXVHLENBQUM7QUFDekcsTUFBTSw4QkFBOEIsR0FDbkMsdUlBQXVJLENBQUM7QUFDekksTUFBTSxzQkFBc0IsR0FDM0Isd0hBQXdILENBQUM7QUFDMUgsTUFBTSxzQkFBc0IsR0FDM0Isd0hBQXdILENBQUM7QUFDMUgsTUFBTSxvQkFBb0IsR0FDekIsa0hBQWtILENBQUM7QUFDcEgsTUFBTSxlQUFlLEdBQ3BCLHlHQUF5RyxDQUFDO0FBQzNHLE1BQU0sZ0NBQWdDLEdBQ3JDLDhJQUE4SSxDQUFDO0FBQ2hKLE1BQU0sY0FBYyxHQUNuQixrSkFBa0osQ0FBQztBQUNwSixNQUFNLG1CQUFtQixHQUN4QixrSEFBa0gsQ0FBQztBQUNwSCxNQUFNLGNBQWMsR0FDbkIscUdBQXFHLENBQUM7QUFDdkcsTUFBTSwwQkFBMEIsR0FDL0IsNEhBQTRILENBQUM7QUFDOUgsTUFBTSx3QkFBd0IsR0FDN0IsNkhBQTZILENBQUM7QUFDL0gsTUFBTSxnQkFBZ0IsR0FDckIsMkdBQTJHLENBQUM7QUFDN0csTUFBTSxzQkFBc0IsR0FDM0Isd0hBQXdILENBQUM7QUFDMUgsTUFBTSxrQkFBa0IsR0FDdkIsK0dBQStHLENBQUM7QUFDakgsTUFBTSx1QkFBdUIsR0FDNUIsZ0hBQWdILENBQUM7QUFDbEgsTUFBTSxnQ0FBZ0MsR0FDckMsbUlBQW1JLENBQUM7QUFDckksTUFBTSxvQkFBb0IsR0FDekIsb0hBQW9ILENBQUM7QUFDdEgsTUFBTSxzQkFBc0IsR0FDM0Isd0hBQXdILENBQUM7QUFDMUgsTUFBTSxXQUFXLEdBQ2hCLGlHQUFpRyxDQUFDO0FBQ25HLE1BQU0sa0JBQWtCLEdBQ3ZCLGlLQUFpSyxDQUFDO0FBQ25LLE1BQU0saUJBQWlCLEdBQ3RCLDhHQUE4RyxDQUFDO0FBQ2hILE1BQU0sbUJBQW1CLEdBQ3hCLG1IQUFtSCxDQUFDO0FBQ3JILE1BQU0sK0JBQStCLEdBQ3BDLDRJQUE0SSxDQUFDO0FBQzlJLE1BQU0sYUFBYSxHQUNsQixxR0FBcUcsQ0FBQztBQUN2RyxNQUFNLG9CQUFvQixHQUN6QixrSUFBa0ksQ0FBQztBQUNwSSxNQUFNLDBCQUEwQixHQUMvQixnSUFBZ0ksQ0FBQztBQUNsSSxNQUFNLDJCQUEyQixHQUNoQyxrSUFBa0ksQ0FBQztBQUNwSSxNQUFNLG1DQUFtQyxHQUN4QyxtSkFBbUosQ0FBQztBQUNySixNQUFNLFdBQVcsR0FDaEIsMEhBQTBILENBQUM7QUFDNUgsTUFBTSxtQkFBbUIsR0FDeEIsa0hBQWtILENBQUM7QUFDcEgsTUFBTSxvQkFBb0IsR0FDekIsb0hBQW9ILENBQUM7QUFDdEgsTUFBTSxpQkFBaUIsR0FDdEIsNEdBQTRHLENBQUM7QUFDOUcsTUFBTSw0QkFBNEIsR0FDakMscUlBQXFJLENBQUM7QUFDdkksTUFBTSxhQUFhLEdBQ2xCLHFHQUFxRyxDQUFDO0FBQ3ZHLE1BQU0sOEJBQThCLEdBQ25DLDBJQUEwSSxDQUFDO0FBQzVJLE1BQU0saUJBQWlCLEdBQ3RCLDhHQUE4RyxDQUFDO0FBQ2hILE1BQU0sMEJBQTBCLEdBQy9CLHFKQUFxSixDQUFDO0FBQ3ZKLE1BQU0sd0NBQXdDLEdBQzdDLDhKQUE4SixDQUFDO0FBQ2hLLE1BQU0sb0JBQW9CLEdBQ3pCLG9IQUFvSCxDQUFDO0FBQ3RILE1BQU0seUJBQXlCLEdBQzlCLCtIQUErSCxDQUFDO0FBQ2pJLE1BQU0saUNBQWlDLEdBQ3RDLGdKQUFnSixDQUFDO0FBQ2xKLE1BQU0sMEJBQTBCLEdBQy9CLGdJQUFnSSxDQUFDO0FBQ2xJLE1BQU0sK0JBQStCLEdBQ3BDLGdMQUFnTCxDQUFDO0FBQ2xMLE1BQU0sd0JBQXdCLEdBQzdCLDRIQUE0SCxDQUFDO0FBQzlILE1BQU0sdUNBQXVDLEdBQzVDLDRKQUE0SixDQUFDO0FBQzlKLE1BQU0sdUJBQXVCLEdBQzVCLDBIQUEwSCxDQUFDO0FBQzVILE1BQU0sa0JBQWtCLEdBQ3ZCLHVHQUF1RyxDQUFDO0FBQ3pHLE1BQU0sZ0JBQWdCLEdBQ3JCLDJHQUEyRyxDQUFDO0FBQzdHLE1BQU0seUJBQXlCLEdBQzlCLGdKQUFnSixDQUFDO0FBQ2xKLE1BQU0scUJBQXFCLEdBQzFCLHNIQUFzSCxDQUFDO0FBQ3hILE1BQU0sZUFBZSxHQUNwQix5R0FBeUcsQ0FBQztBQUMzRyxNQUFNLHdCQUF3QixHQUM3QixvSEFBb0gsQ0FBQztBQUN0SCxNQUFNLHdCQUF3QixHQUM3QiwySEFBMkgsQ0FBQztBQUM3SCxNQUFNLG1CQUFtQixHQUN4QixnSEFBZ0gsQ0FBQztBQUNsSCxNQUFNLHdCQUF3QixHQUM3QixnSEFBZ0gsQ0FBQztBQUNsSCxNQUFNLGFBQWEsR0FDbEIsMkhBQTJILENBQUM7QUFDN0gsTUFBTSw2QkFBNkIsR0FDbEMsdUlBQXVJLENBQUM7QUFDekksTUFBTSxtQkFBbUIsR0FDeEIsa0hBQWtILENBQUM7QUFDcEgsTUFBTSxvQkFBb0IsR0FDekIsb0hBQW9ILENBQUM7QUFDdEgsTUFBTSxvQkFBb0IsR0FDekIsb0hBQW9ILENBQUM7QUFDdEgsTUFBTSxtQkFBbUIsR0FDeEIsd0lBQXdJLENBQUM7QUFDMUksTUFBTSxpQkFBaUIsR0FDdEIsNkdBQTZHLENBQUM7QUFDL0csTUFBTSxnQkFBZ0IsR0FDckIsMkdBQTJHLENBQUM7QUFFN0c7O0dBRUc7QUFDSCxNQUFhLGtCQUFrQjtJQUM5Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBOEI7UUFDM0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxXQUFXLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM5SCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBVztRQUNsQyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBVztRQUNoQyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFVBQVU7U0FDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBc0M7UUFDM0QsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxxQkFBcUIsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDaEosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHdCQUF3QixDQUFDLEdBQVc7UUFDMUMsT0FBTyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FDNUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixrQkFBa0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGtCQUFrQjtTQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUN6QixLQUEyQztRQUUzQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLDBCQUEwQixLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUMxSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQUMsR0FBVztRQUMvQyxPQUFPLDJCQUEyQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDJCQUEyQixDQUNqQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsdUJBQXVCO1NBQzlELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBd0M7UUFDL0QsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyx1QkFBdUIsS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDcEosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEdBQVc7UUFDNUMsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixvQkFBb0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLG9CQUFvQjtTQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFpQztRQUNqRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGNBQWMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3BJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFXO1FBQ3JDLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBVztRQUNuQyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsYUFBYSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsYUFBYTtTQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUEyQjtRQUNyQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLFFBQVEsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsZUFBZSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BMLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBVztRQUMvQixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVztRQUM3QixNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFFBQVE7WUFDaEMsZUFBZSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsZUFBZTtZQUM5QyxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxPQUFPO1lBQzlCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLE9BQU87U0FDOUIsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBc0M7UUFDM0QsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxxQkFBcUIsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDaEosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHdCQUF3QixDQUFDLEdBQVc7UUFDMUMsT0FBTyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FDNUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixrQkFBa0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGtCQUFrQjtTQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFnQztRQUMvQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGFBQWEsS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDMUksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQVc7UUFDcEMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixvQkFBb0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLG9CQUFvQjtTQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFpQztRQUNqRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGVBQWUsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDeEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGdCQUFnQjtTQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUErQjtRQUM3QyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLFlBQVksS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzlILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFXO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsU0FBUztTQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHNCQUFzQixDQUM1QixLQUE4QztRQUU5QyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLDZCQUE2QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUM5SixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsR0FBVztRQUNsRCxPQUFPLDhCQUE4QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDhCQUE4QixDQUNwQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsOEJBQThCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsd0JBQXdCO1NBQ2hFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXNDO1FBQzNELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsb0JBQW9CLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQy9JLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFXO1FBQzFDLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsc0JBQXNCLENBQzVCLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0Isa0JBQWtCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxrQkFBa0I7U0FDcEQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBc0M7UUFDM0QsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxvQkFBb0IsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDL0ksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHdCQUF3QixDQUFDLEdBQVc7UUFDMUMsT0FBTyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FDNUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixrQkFBa0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGtCQUFrQjtTQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFvQztRQUN2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGtCQUFrQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHNCQUFzQixDQUFDLEdBQVc7UUFDeEMsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFXO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixjQUFjLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxjQUFjO1NBQzVDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQStCO1FBQzdDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsWUFBWSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQVc7UUFDbkMsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVc7UUFDakMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxXQUFXO1NBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsd0JBQXdCLENBQzlCLEtBQWdEO1FBRWhELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsZ0NBQWdDLEtBQUssQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3JLLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFXO1FBQ3BELE9BQU8sZ0NBQWdDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZ0NBQWdDLENBQ3RDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyw0QkFBNEI7U0FDeEUsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBOEI7UUFDM0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxpQkFBaUIsS0FBSyxDQUFDLGVBQWUsV0FBVyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEssQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVc7UUFDaEMsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixlQUFlLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxlQUFlO1lBQzlDLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFVBQVU7U0FDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBbUM7UUFDckQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxpQkFBaUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsbUJBQW1CLENBQUMsR0FBVztRQUNyQyxNQUFNLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsZUFBZSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsZUFBZTtTQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUE4QjtRQUMzQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLFdBQVcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ2xDLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFXO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsUUFBUTtTQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUN4QixLQUEwQztRQUUxQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLG9CQUFvQixLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNuSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNEJBQTRCLENBQUMsR0FBVztRQUM5QyxPQUFPLDBCQUEwQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUNoQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsc0JBQXNCO1NBQzVELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBd0M7UUFDL0QsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyx1QkFBdUIsS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDcEosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEdBQVc7UUFDNUMsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixvQkFBb0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLG9CQUFvQjtTQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFnQztRQUMvQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGFBQWEsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFXO1FBQ3BDLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBVztRQUNsQyxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsWUFBWSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsWUFBWTtTQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFzQztRQUMzRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLG9CQUFvQixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUMvSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsd0JBQXdCLENBQUMsR0FBVztRQUMxQyxPQUFPLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHNCQUFzQixDQUM1QixHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsa0JBQWtCO1NBQ3BELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWtDO1FBQ25ELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsZUFBZSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQVc7UUFDdEMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFXO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixjQUFjLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxjQUFjO1NBQzVDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQXVDO1FBQzdELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcscUJBQXFCLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN2SSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMseUJBQXlCLENBQUMsR0FBVztRQUMzQyxPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUM3QixHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFNBQVM7U0FDbEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUIsS0FBZ0Q7UUFFaEQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRywrQkFBK0IsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDMUosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLEdBQVc7UUFDcEQsT0FBTyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FDdEMsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixrQkFBa0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGtCQUFrQjtTQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFvQztRQUN2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGtCQUFrQixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMzSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsc0JBQXNCLENBQUMsR0FBVztRQUN4QyxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQVc7UUFDdEMsTUFBTSxLQUFLLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsZ0JBQWdCO1NBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXNDO1FBQzNELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsb0JBQW9CLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQy9JLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFXO1FBQzFDLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsc0JBQXNCLENBQzVCLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0Isa0JBQWtCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxrQkFBa0I7U0FDcEQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBMkI7UUFDckMsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxRQUFRLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4SCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQVc7UUFDL0IsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQVc7UUFDN0IsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxPQUFPO1NBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWtDO1FBQ25ELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsZ0JBQWdCLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLGNBQWMsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDaEwsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQVc7UUFDdEMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFXO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxPQUFPO1lBQzlCLGNBQWMsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGNBQWM7WUFDNUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsY0FBYztTQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFpQztRQUNqRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGVBQWUsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3JJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFXO1FBQ3JDLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBVztRQUNuQyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsYUFBYSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsYUFBYTtTQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFtQztRQUNyRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGtCQUFrQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQVc7UUFDdkMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFXO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixlQUFlLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxlQUFlO1NBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsdUJBQXVCLENBQzdCLEtBQStDO1FBRS9DLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsK0JBQStCLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxDQUFDO0lBQ25LLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxHQUFXO1FBQ25ELE9BQU8sK0JBQStCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsK0JBQStCLENBQ3JDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQywyQkFBMkI7U0FDdEUsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBNkI7UUFDekMsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxVQUFVLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1SCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVc7UUFDakMsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQVc7UUFDL0IsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxTQUFTO1NBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQW9DO1FBQ3ZELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsa0JBQWtCLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFXO1FBQ3hDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBVztRQUN0QyxNQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsU0FBUztZQUNsQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxPQUFPO1NBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQ3hCLEtBQTBDO1FBRTFDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsd0JBQXdCLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3ZKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxHQUFXO1FBQzlDLE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsMEJBQTBCLENBQ2hDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0Isc0JBQXNCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxzQkFBc0I7U0FDNUQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FDekIsS0FBMkM7UUFFM0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyx5QkFBeUIsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDekosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEdBQVc7UUFDL0MsT0FBTywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQywyQkFBMkIsQ0FDakMsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLDJCQUEyQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3Qix1QkFBdUIsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLHVCQUF1QjtTQUM5RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDJCQUEyQixDQUNqQyxLQUFtRDtRQUVuRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGtDQUFrQyxLQUFLLENBQUMsK0JBQStCLEVBQUUsQ0FBQztJQUMxSyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUNBQXFDLENBQUMsR0FBVztRQUN2RCxPQUFPLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG1DQUFtQyxDQUN6QyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsbUNBQW1DLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLCtCQUErQixFQUM5QixLQUFLLENBQUMsTUFBTyxDQUFDLCtCQUErQjtTQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUEyQjtRQUNyQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLFFBQVEsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0ksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFXO1FBQy9CLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFXO1FBQzdCLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsV0FBVztZQUN0QyxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxPQUFPO1NBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQW1DO1FBQ3JELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsaUJBQWlCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6SSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBVztRQUN2QyxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLGVBQWUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGVBQWU7U0FDOUMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBb0M7UUFDdkQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxrQkFBa0IsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDM0ksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHNCQUFzQixDQUFDLEdBQVc7UUFDeEMsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFXO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGdCQUFnQjtTQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFpQztRQUNqRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGVBQWUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25JLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFXO1FBQ3JDLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBVztRQUNuQyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsV0FBVztTQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUMxQixLQUE0QztRQUU1QyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLDJCQUEyQixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUM1SixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsOEJBQThCLENBQUMsR0FBVztRQUNoRCxPQUFPLDRCQUE0QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDRCQUE0QixDQUNsQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsNEJBQTRCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsd0JBQXdCO1NBQ2hFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQTZCO1FBQ3pDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsVUFBVSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFXO1FBQ2pDLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFXO1FBQy9CLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsU0FBUztTQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHNCQUFzQixDQUM1QixLQUE4QztRQUU5QyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLDhCQUE4QixLQUFLLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNqSyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsR0FBVztRQUNsRCxPQUFPLDhCQUE4QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDhCQUE4QixDQUNwQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsOEJBQThCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsMEJBQTBCO1NBQ3BFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQWlDO1FBQ2pELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsZUFBZSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDckksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixhQUFhLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxhQUFhO1NBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQ3hCLEtBQTBDO1FBRTFDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsZUFBZSxLQUFLLENBQUMsYUFBYSxlQUFlLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2SyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNEJBQTRCLENBQUMsR0FBVztRQUM5QyxPQUFPLDBCQUEwQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUNoQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLGFBQWEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGFBQWE7WUFDMUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsYUFBYTtTQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdDQUFnQyxDQUN0QyxLQUF3RDtRQUV4RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLHdDQUF3QyxLQUFLLENBQUMsb0NBQW9DLEVBQUUsQ0FBQztJQUNyTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsMENBQTBDLENBQUMsR0FBVztRQUM1RCxPQUFPLHdDQUF3QyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHdDQUF3QyxDQUM5QyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsd0NBQXdDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FDZCxvREFBb0QsR0FBRyxFQUFFLENBQ3pELENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLG9DQUFvQyxFQUNuQyxLQUFLLENBQUMsTUFBTyxDQUFDLG9DQUFvQztTQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFvQztRQUN2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGtCQUFrQixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMzSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsc0JBQXNCLENBQUMsR0FBVztRQUN4QyxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQVc7UUFDdEMsTUFBTSxLQUFLLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsZ0JBQWdCO1NBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBeUM7UUFDakUsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyx3QkFBd0IsS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDJCQUEyQixDQUFDLEdBQVc7UUFDN0MsT0FBTyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx5QkFBeUIsQ0FDL0IsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixxQkFBcUIsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLHFCQUFxQjtTQUMxRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHlCQUF5QixDQUMvQixLQUFpRDtRQUVqRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGlDQUFpQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUN2SyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsbUNBQW1DLENBQUMsR0FBVztRQUNyRCxPQUFPLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGlDQUFpQyxDQUN2QyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsaUNBQWlDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLDZCQUE2QixFQUM1QixLQUFLLENBQUMsTUFBTyxDQUFDLDZCQUE2QjtTQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUN4QixLQUEwQztRQUUxQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLHdCQUF3QixLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2SixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNEJBQTRCLENBQUMsR0FBVztRQUM5QyxPQUFPLDBCQUEwQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUNoQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsc0JBQXNCO1NBQzVELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsdUJBQXVCLENBQzdCLEtBQStDO1FBRS9DLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsd0JBQXdCLEtBQUssQ0FBQyxzQkFBc0IsVUFBVSxLQUFLLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNsTSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsaUNBQWlDLENBQUMsR0FBVztRQUNuRCxPQUFPLCtCQUErQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLCtCQUErQixDQUNyQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsK0JBQStCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsc0JBQXNCO1lBQzVELDJCQUEyQixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsMkJBQTJCO1NBQ3RFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBd0M7UUFDL0QsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxzQkFBc0IsS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDbkosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEdBQVc7UUFDNUMsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixvQkFBb0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLG9CQUFvQjtTQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLCtCQUErQixDQUNyQyxLQUF1RDtRQUV2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLHVDQUF1QyxLQUFLLENBQUMsbUNBQW1DLEVBQUUsQ0FBQztJQUNuTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMseUNBQXlDLENBQUMsR0FBVztRQUMzRCxPQUFPLHVDQUF1QyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHVDQUF1QyxDQUM3QyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsdUNBQXVDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLG1DQUFtQyxFQUNsQyxLQUFLLENBQUMsTUFBTyxDQUFDLG1DQUFtQztTQUNsRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUF1QztRQUM3RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLHFCQUFxQixLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNqSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMseUJBQXlCLENBQUMsR0FBVztRQUMzQyxPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUM3QixHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsbUJBQW1CO1NBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWtDO1FBQ25ELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsZ0JBQWdCLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM5SCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBVztRQUN0QyxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQVc7UUFDcEMsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLEtBQUs7U0FDMUIsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBZ0M7UUFDL0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxhQUFhLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBVztRQUNwQyxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFlBQVk7U0FDeEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUF5QztRQUNqRSxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGFBQWEsS0FBSyxDQUFDLFlBQVksY0FBYyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEssQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDJCQUEyQixDQUFDLEdBQVc7UUFDN0MsT0FBTyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx5QkFBeUIsQ0FDL0IsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixZQUFZLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxZQUFZO1lBQ3hDLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFlBQVk7U0FDeEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBcUM7UUFDekQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxtQkFBbUIsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0ksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQVc7UUFDekMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FDM0IsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixpQkFBaUIsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGlCQUFpQjtTQUNsRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUErQjtRQUM3QyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLFlBQVksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFXO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsV0FBVztTQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQXdDO1FBQy9ELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsc0JBQXNCLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsMEJBQTBCLENBQUMsR0FBVztRQUM1QyxPQUFPLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHdCQUF3QixDQUM5QixHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFlBQVk7U0FDeEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QztRQUMvRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLHNCQUFzQixLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNsSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsMEJBQTBCLENBQUMsR0FBVztRQUM1QyxPQUFPLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHdCQUF3QixDQUM5QixHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsbUJBQW1CO1NBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQW1DO1FBQ3JELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsaUJBQWlCLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2SSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBVztRQUN2QyxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLGFBQWEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGFBQWE7U0FDMUMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QztRQUMvRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLHVCQUF1QixLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEdBQVc7UUFDNUMsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxPQUFPO1NBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQTZCO1FBQ3pDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsVUFBVSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM5SSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVc7UUFDakMsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQVc7UUFDL0IsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxRQUFRO1lBQ2hDLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFNBQVM7U0FDbEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FDM0IsS0FBNkM7UUFFN0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyw0QkFBNEIsS0FBSyxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDOUosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLCtCQUErQixDQUFDLEdBQVc7UUFDakQsT0FBTyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyw2QkFBNkIsQ0FDbkMsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLDZCQUE2QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3Qix5QkFBeUIsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLHlCQUF5QjtTQUNsRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFtQztRQUNyRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGlCQUFpQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQVc7UUFDdkMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFXO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixlQUFlLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxlQUFlO1NBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQW9DO1FBQ3ZELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssY0FBYyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsa0JBQWtCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzNJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFXO1FBQ3hDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBVztRQUN0QyxNQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxnQkFBZ0I7U0FDaEQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBb0M7UUFDdkQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxrQkFBa0IsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDM0ksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHNCQUFzQixDQUFDLEdBQVc7UUFDeEMsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFXO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGdCQUFnQjtTQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFtQztRQUNyRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGlCQUFpQixLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBVztRQUN2QyxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFFBQVE7WUFDaEMsZUFBZSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsZUFBZTtTQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFpQztRQUNqRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGNBQWMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3BJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFXO1FBQ3JDLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBVztRQUNuQyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsYUFBYSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsYUFBYTtTQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFnQztRQUMvQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGNBQWMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGFBQWEsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFXO1FBQ3BDLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBVztRQUNsQyxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsWUFBWSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsWUFBWTtTQUN4QyxDQUFDO0lBQ0gsQ0FBQzs7QUFuMUVGLGdEQW8xRUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7O0FBQWhDLGtEQTgrQ0M7OztBQTcrQ0EsNERBQTREO0FBQzVDLGtDQUFjLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3hFLHFEQUFxRDtBQUNyQywyQkFBTyxHQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUMxRCxxRUFBcUU7QUFDckQsMkNBQXVCLEdBQWE7SUFDbkQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRiwrRUFBK0U7QUFDL0QscURBQWlDLEdBQWEsRUFBRSxDQUFDO0FBQ2pFLHFFQUFxRTtBQUNyRCwyQ0FBdUIsR0FBYTtJQUNuRCxtQ0FBbUM7Q0FDbkMsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx3Q0FBb0IsR0FBYTtJQUNoRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCwyQ0FBdUIsR0FBYTtJQUNuRCxtQ0FBbUM7Q0FDbkMsQ0FBQztBQUNGLHVFQUF1RTtBQUN2RCw2Q0FBeUIsR0FBYTtJQUNyRCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxtQ0FBZSxHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUMxRSw0REFBNEQ7QUFDNUMsa0NBQWMsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDeEUsNkRBQTZEO0FBQzdDLG1DQUFlLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzFFLHFFQUFxRTtBQUNyRCwyQ0FBdUIsR0FBYTtJQUNuRCxtQ0FBbUM7Q0FDbkMsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCw0Q0FBd0IsR0FBYTtJQUNwRCxvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYTtJQUM1Qyw0QkFBNEI7SUFDNUIscUJBQXFCO0NBQ3JCLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsbUNBQWUsR0FBYTtJQUMzQywrQkFBK0I7SUFDL0IsMkJBQTJCO0NBQzNCLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsd0NBQW9CLEdBQWE7SUFDaEQsbUJBQW1CO0lBQ25CLGdDQUFnQztJQUNoQyxjQUFjO0NBQ2QsQ0FBQztBQUNGLHVFQUF1RTtBQUN2RCw2Q0FBeUIsR0FBYTtJQUNyRCxtQkFBbUI7SUFDbkIscUNBQXFDO0lBQ3JDLGNBQWM7Q0FDZCxDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELDBDQUFzQixHQUFhO0lBQ2xELG1CQUFtQjtJQUNuQixrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyxnQ0FBWSxHQUFhO0lBQ3hDLG1CQUFtQjtJQUNuQix3QkFBd0I7Q0FDeEIsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxtQ0FBZSxHQUFhO0lBQzNDLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0IsY0FBYztDQUNkLENBQUM7QUFDRix1REFBdUQ7QUFDdkMsNkJBQVMsR0FBYTtJQUNyQyxtQkFBbUI7SUFDbkIscUJBQXFCO0NBQ3JCLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsd0NBQW9CLEdBQWE7SUFDaEQsbUJBQW1CO0lBQ25CLGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGtDQUFjLEdBQWE7SUFDMUMsbUJBQW1CO0lBQ25CLDBCQUEwQjtDQUMxQixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLG1DQUFlLEdBQWE7SUFDM0MsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixjQUFjO0NBQ2QsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYTtJQUM3QyxtQkFBbUI7SUFDbkIsNkJBQTZCO0lBQzdCLGNBQWM7Q0FDZCxDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLGlDQUFhLEdBQWE7SUFDekMsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixjQUFjO0lBQ2QsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQsZ0RBQTRCLEdBQWE7SUFDeEQsbUJBQW1CO0lBQ25CLHdDQUF3QztDQUN4QyxDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELG1CQUFtQjtJQUNuQixnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx3Q0FBb0IsR0FBYTtJQUNoRCxtQkFBbUI7SUFDbkIsZ0NBQWdDO0lBQ2hDLGNBQWM7Q0FDZCxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELHNDQUFrQixHQUFhO0lBQzlDLG1CQUFtQjtJQUNuQiw4QkFBOEI7Q0FDOUIsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxpQ0FBYSxHQUFhO0lBQ3pDLG1CQUFtQjtJQUNuQix5QkFBeUI7Q0FDekIsQ0FBQztBQUNGLDRFQUE0RTtBQUM1RCxrREFBOEIsR0FBYTtJQUMxRCxtQkFBbUI7SUFDbkIsMENBQTBDO0lBQzFDLGNBQWM7Q0FDZCxDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLHFDQUFpQixHQUFhLEVBQUUsQ0FBQztBQUNqRCwwREFBMEQ7QUFDMUMsZ0NBQVksR0FBYTtJQUN4QyxtQkFBbUI7SUFDbkIsd0JBQXdCO0lBQ3hCLGNBQWM7Q0FDZCxDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDRDQUF3QixHQUFhLEVBQUUsQ0FBQztBQUN4RCx1RUFBdUU7QUFDdkQsNkNBQXlCLEdBQWEsRUFBRSxDQUFDO0FBQ3pELG9FQUFvRTtBQUNwRCwwQ0FBc0IsR0FBYSxFQUFFLENBQUM7QUFDdEQsNERBQTREO0FBQzVDLGtDQUFjLEdBQWE7SUFDMUMsbUJBQW1CO0lBQ25CLDBCQUEwQjtDQUMxQixDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELG1CQUFtQjtJQUNuQixnQ0FBZ0M7SUFDaEMsY0FBYztDQUNkLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsb0NBQWdCLEdBQWE7SUFDNUMsbUJBQW1CO0lBQ25CLDRCQUE0QjtDQUM1QixDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELHNDQUFrQixHQUFhO0lBQzlDLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsY0FBYztDQUNkLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsd0NBQW9CLEdBQWE7SUFDaEQsbUJBQW1CO0lBQ25CLGdDQUFnQztJQUNoQyxjQUFjO0NBQ2QsQ0FBQztBQUNGLHVEQUF1RDtBQUN2Qyw2QkFBUyxHQUFhO0lBQ3JDLG1CQUFtQjtJQUNuQixxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLDJFQUEyRTtBQUMzRCxpREFBNkIsR0FBYTtJQUN6RCx5Q0FBeUM7Q0FDekMsQ0FBQztBQUNGLHVFQUF1RTtBQUN2RCw2Q0FBeUIsR0FBYTtJQUNyRCxtQkFBbUI7SUFDbkIscUNBQXFDO0NBQ3JDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MscUNBQWlCLEdBQWE7SUFDN0MsbUJBQW1CO0lBQ25CLDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YsMkVBQTJFO0FBQzNELGlEQUE2QixHQUFhO0lBQ3pELG1CQUFtQjtJQUNuQix5Q0FBeUM7SUFDekMsY0FBYztDQUNkLENBQUM7QUFDRix5REFBeUQ7QUFDekMsK0JBQVcsR0FBYTtJQUN2QyxtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGNBQWM7Q0FDZCxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELHNDQUFrQixHQUFhO0lBQzlDLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDRDQUF3QixHQUFhO0lBQ3BELG1CQUFtQjtJQUNuQixvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLHVFQUF1RTtBQUN2RCw2Q0FBeUIsR0FBYTtJQUNyRCxtQkFBbUI7SUFDbkIscUNBQXFDO0lBQ3JDLGNBQWM7Q0FDZCxDQUFDO0FBQ0YsK0VBQStFO0FBQy9ELHFEQUFpQyxHQUFhO0lBQzdELG1CQUFtQjtJQUNuQiw2Q0FBNkM7SUFDN0MsY0FBYztDQUNkLENBQUM7QUFDRix1REFBdUQ7QUFDdkMsNkJBQVMsR0FBYTtJQUNyQyxtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLDRCQUE0QjtJQUM1QixjQUFjO0lBQ2QsNEJBQTRCO0NBQzVCLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MscUNBQWlCLEdBQWE7SUFDN0MsbUJBQW1CO0lBQ25CLDZCQUE2QjtJQUM3QixjQUFjO0NBQ2QsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxtQ0FBZSxHQUFhO0lBQzNDLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0IsY0FBYztDQUNkLENBQUM7QUFDRix3RUFBd0U7QUFDeEQsOENBQTBCLEdBQWE7SUFDdEQsbUJBQW1CO0lBQ25CLHNDQUFzQztJQUN0QyxjQUFjO0NBQ2QsQ0FBQztBQUNGLHlEQUF5RDtBQUN6QywrQkFBVyxHQUFhO0lBQ3ZDLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsMEJBQTBCO0lBQzFCLGNBQWM7Q0FDZCxDQUFDO0FBQ0YsMEVBQTBFO0FBQzFELGdEQUE0QixHQUFhO0lBQ3hELG1CQUFtQjtJQUNuQix3Q0FBd0M7SUFDeEMsY0FBYztDQUNkLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsbUNBQWUsR0FBYTtJQUMzQyxtQkFBbUI7SUFDbkIsMkJBQTJCO0NBQzNCLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsNENBQXdCLEdBQWE7SUFDcEQsb0NBQW9DO0NBQ3BDLENBQUM7QUFDRixvRkFBb0Y7QUFDcEUsMERBQXNDLEdBQWE7SUFDbEUsbUJBQW1CO0lBQ25CLGtEQUFrRDtJQUNsRCxjQUFjO0NBQ2QsQ0FBQztBQUNGLGdFQUFnRTtBQUNoRCxzQ0FBa0IsR0FBYTtJQUM5QyxtQkFBbUI7SUFDbkIsOEJBQThCO0lBQzlCLGNBQWM7Q0FDZCxDQUFDO0FBQ0YscUVBQXFFO0FBQ3JELDJDQUF1QixHQUFhO0lBQ25ELG1CQUFtQjtJQUNuQixtQ0FBbUM7Q0FDbkMsQ0FBQztBQUNGLDZFQUE2RTtBQUM3RCxtREFBK0IsR0FBYTtJQUMzRCxtQkFBbUI7SUFDbkIsMkNBQTJDO0lBQzNDLGNBQWM7Q0FDZCxDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDRDQUF3QixHQUFhO0lBQ3BELG1CQUFtQjtJQUNuQixvQ0FBb0M7SUFDcEMsY0FBYztDQUNkLENBQUM7QUFDRixvRUFBb0U7QUFDcEQsMENBQXNCLEdBQWE7SUFDbEQsbUJBQW1CO0lBQ25CLGtDQUFrQztJQUNsQyxjQUFjO0NBQ2QsQ0FBQztBQUNGLG1GQUFtRjtBQUNuRSx5REFBcUMsR0FBYTtJQUNqRSxtQkFBbUI7SUFDbkIsaURBQWlEO0NBQ2pELENBQUM7QUFDRixtRUFBbUU7QUFDbkQseUNBQXFCLEdBQWE7SUFDakQsbUJBQW1CO0lBQ25CLGlDQUFpQztJQUNqQyxjQUFjO0NBQ2QsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYTtJQUM1Qyw0QkFBNEI7SUFDNUIsY0FBYztDQUNkLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQsZ0RBQTRCLEdBQWE7SUFDeEQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRiw0REFBNEQ7QUFDNUMsa0NBQWMsR0FBYTtJQUMxQyxtQkFBbUI7SUFDbkIsMEJBQTBCO0lBQzFCLGNBQWM7Q0FDZCxDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDRDQUF3QixHQUFhO0lBQ3BELG9DQUFvQztDQUNwQyxDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELCtDQUEyQixHQUFhO0lBQ3ZELHVDQUF1QztDQUN2QyxDQUFDO0FBQ0Ysb0ZBQW9GO0FBQ3BFLDBEQUFzQyxHQUFhO0lBQ2xFLGtEQUFrRDtDQUNsRCxDQUFDO0FBQ0YsZ0ZBQWdGO0FBQ2hFLHNEQUFrQyxHQUFhO0lBQzlELDhDQUE4QztDQUM5QyxDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELHVDQUFtQixHQUFhO0lBQy9DLG1CQUFtQjtJQUNuQiwrQkFBK0I7SUFDL0IsY0FBYztDQUNkLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsaUNBQWEsR0FBYTtJQUN6QyxtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLGNBQWM7Q0FDZCxDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLCtCQUFXLEdBQWE7SUFDdkMsbUJBQW1CO0lBQ25CLHVCQUF1QjtDQUN2QixDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELCtDQUEyQixHQUFhO0lBQ3ZELG1CQUFtQjtJQUNuQix1Q0FBdUM7Q0FDdkMsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYTtJQUM3QyxtQkFBbUI7SUFDbkIsNkJBQTZCO0lBQzdCLGNBQWM7Q0FDZCxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELHNDQUFrQixHQUFhO0lBQzlDLG1CQUFtQjtJQUNuQixrQ0FBa0M7SUFDbEMsOEJBQThCO0NBQzlCLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsc0NBQWtCLEdBQWE7SUFDOUMsbUJBQW1CO0lBQ25CLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLCtCQUFXLEdBQWE7SUFDdkMsbUJBQW1CO0lBQ25CLHVCQUF1QjtDQUN2QixDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELG1CQUFtQjtJQUNuQixnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYTtJQUM3QyxtQkFBbUI7SUFDbkIsNkJBQTZCO0lBQzdCLGNBQWM7Q0FDZCxDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLG1DQUFlLEdBQWE7SUFDM0MsbUJBQW1CO0lBQ25CLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGtDQUFjLEdBQWE7SUFDMUMsbUJBQW1CO0lBQ25CLDBCQUEwQjtDQUMxQixDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsdUVBQXVFO0FBQ3ZELDZDQUF5QixHQUFhO0lBQ3JELHFDQUFxQztDQUNyQyxDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELDBDQUFzQixHQUFhO0lBQ2xELGtDQUFrQztDQUNsQyxDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLGdDQUFZLEdBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ3BFLDZEQUE2RDtBQUM3QyxtQ0FBZSxHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUMxRSx1REFBdUQ7QUFDdkMsNkJBQVMsR0FBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDOUQsa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGtDQUFjLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3hFLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDOUUsMkRBQTJEO0FBQzNDLGlDQUFhLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3RFLDBFQUEwRTtBQUMxRCxnREFBNEIsR0FBYTtJQUN4RCx3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx3Q0FBb0IsR0FBYTtJQUNoRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx3Q0FBb0IsR0FBYTtJQUNoRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLGdFQUFnRTtBQUNoRCxzQ0FBa0IsR0FBYTtJQUM5Qyw4QkFBOEI7Q0FDOUIsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxpQ0FBYSxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN0RSw0RUFBNEU7QUFDNUQsa0RBQThCLEdBQWE7SUFDMUQsMENBQTBDO0NBQzFDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MscUNBQWlCLEdBQWEsRUFBRSxDQUFDO0FBQ2pELDBEQUEwRDtBQUMxQyxnQ0FBWSxHQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNwRSxzRUFBc0U7QUFDdEQsNENBQXdCLEdBQWEsRUFBRSxDQUFDO0FBQ3hELHVFQUF1RTtBQUN2RCw2Q0FBeUIsR0FBYSxFQUFFLENBQUM7QUFDekQsNERBQTREO0FBQzVDLGtDQUFjLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3hFLGtFQUFrRTtBQUNsRCx3Q0FBb0IsR0FBYTtJQUNoRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDNUUsZ0VBQWdFO0FBQ2hELHNDQUFrQixHQUFhO0lBQzlDLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsdURBQXVEO0FBQ3ZDLDZCQUFTLEdBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQzlELDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDNUUsdUVBQXVFO0FBQ3ZELDZDQUF5QixHQUFhO0lBQ3JELHFDQUFxQztDQUNyQyxDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLG1DQUFlLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzFFLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDOUUsMkVBQTJFO0FBQzNELGlEQUE2QixHQUFhO0lBQ3pELHlDQUF5QztDQUN6QyxDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLCtCQUFXLEdBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ2xFLGdFQUFnRTtBQUNoRCxzQ0FBa0IsR0FBYTtJQUM5Qyw4QkFBOEI7Q0FDOUIsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCw0Q0FBd0IsR0FBYTtJQUNwRCxvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLHVFQUF1RTtBQUN2RCw2Q0FBeUIsR0FBYTtJQUNyRCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLHVEQUF1RDtBQUN2Qyw2QkFBUyxHQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUM5RCw2REFBNkQ7QUFDN0MsbUNBQWUsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDMUUsd0VBQXdFO0FBQ3hELDhDQUEwQixHQUFhO0lBQ3RELHNDQUFzQztDQUN0QyxDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLCtCQUFXLEdBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ2xFLDBFQUEwRTtBQUMxRCxnREFBNEIsR0FBYTtJQUN4RCx3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxtQ0FBZSxHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUMxRSxvRkFBb0Y7QUFDcEUsMERBQXNDLEdBQWE7SUFDbEUsa0RBQWtEO0NBQ2xELENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsc0NBQWtCLEdBQWE7SUFDOUMsOEJBQThCO0NBQzlCLENBQUM7QUFDRixxRUFBcUU7QUFDckQsMkNBQXVCLEdBQWE7SUFDbkQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRiwyRUFBMkU7QUFDM0QsaURBQTZCLEdBQWE7SUFDekQseUNBQXlDO0NBQ3pDLENBQUM7QUFDRiw2RUFBNkU7QUFDN0QsbURBQStCLEdBQWE7SUFDM0QsMkNBQTJDO0NBQzNDLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsNENBQXdCLEdBQWE7SUFDcEQsb0NBQW9DO0NBQ3BDLENBQUM7QUFDRixvRUFBb0U7QUFDcEQsMENBQXNCLEdBQWE7SUFDbEQsa0NBQWtDO0NBQ2xDLENBQUM7QUFDRixtRkFBbUY7QUFDbkUseURBQXFDLEdBQWE7SUFDakUsaURBQWlEO0NBQ2pELENBQUM7QUFDRixtRUFBbUU7QUFDbkQseUNBQXFCLEdBQWE7SUFDakQsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsb0NBQWdCLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQzVFLDREQUE0RDtBQUM1QyxrQ0FBYyxHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUN4RSxpRUFBaUU7QUFDakQsdUNBQW1CLEdBQWE7SUFDL0MsK0JBQStCO0NBQy9CLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsaUNBQWEsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDdEUsMERBQTBEO0FBQzFDLGdDQUFZLEdBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ3BFLHlEQUF5RDtBQUN6QywrQkFBVyxHQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUNsRSx5RUFBeUU7QUFDekQsK0NBQTJCLEdBQWE7SUFDdkQsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRix3REFBd0Q7QUFDeEMsOEJBQVUsR0FBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDaEUsK0RBQStEO0FBQy9DLHFDQUFpQixHQUFhLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUM5RSx5REFBeUQ7QUFDekMsK0JBQVcsR0FBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFDbEUsa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLHFDQUFpQixHQUFhLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUM5RSw2REFBNkQ7QUFDN0MsbUNBQWUsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDMUUsNERBQTREO0FBQzVDLGtDQUFjLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3hFLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYSxFQUFFLENBQUM7QUFDakQsb0VBQW9FO0FBQ3BELDBDQUFzQixHQUFhO0lBQ2xELGtDQUFrQztDQUNsQyxDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELCtDQUEyQixHQUFhO0lBQ3ZELHVDQUF1QztDQUN2QyxDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDRDQUF3QixHQUFhO0lBQ3BELG9DQUFvQztDQUNwQyxDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGtDQUFjLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3hFLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDOUUseURBQXlEO0FBQ3pDLCtCQUFXLEdBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ2xFLG9FQUFvRTtBQUNwRCwwQ0FBc0IsR0FBYTtJQUNsRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDNUUsK0RBQStEO0FBQy9DLHFDQUFpQixHQUFhLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUM5RSxpRUFBaUU7QUFDakQsdUNBQW1CLEdBQWE7SUFDL0MsK0JBQStCO0NBQy9CLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsbUNBQWUsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDMUUsa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELHVDQUFtQixHQUFhO0lBQy9DLCtCQUErQjtDQUMvQixDQUFDO0FBQ0YsNEVBQTRFO0FBQzVELGtEQUE4QixHQUFhO0lBQzFELDBDQUEwQztDQUMxQyxDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELDBDQUFzQixHQUFhO0lBQ2xELGtDQUFrQztDQUNsQyxDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELDBDQUFzQixHQUFhO0lBQ2xELGtDQUFrQztDQUNsQyxDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLG1DQUFlLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzFFLDhFQUE4RTtBQUM5RCxvREFBZ0MsR0FBYTtJQUM1RCw0Q0FBNEM7Q0FDNUMsQ0FBQztBQUNGLDREQUE0RDtBQUM1QyxrQ0FBYyxHQUFhLEVBQUUsQ0FBQztBQUM5QyxpRUFBaUU7QUFDakQsdUNBQW1CLEdBQWEsRUFBRSxDQUFDO0FBQ25ELDREQUE0RDtBQUM1QyxrQ0FBYyxHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUN4RSx3RUFBd0U7QUFDeEQsOENBQTBCLEdBQWEsRUFBRSxDQUFDO0FBQzFELHNFQUFzRTtBQUN0RCw0Q0FBd0IsR0FBYSxFQUFFLENBQUM7QUFDeEQsOERBQThEO0FBQzlDLG9DQUFnQixHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM1RSxvRUFBb0U7QUFDcEQsMENBQXNCLEdBQWE7SUFDbEQsa0NBQWtDO0NBQ2xDLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsc0NBQWtCLEdBQWE7SUFDOUMsOEJBQThCO0NBQzlCLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsd0NBQW9CLEdBQWE7SUFDaEQsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRixxRUFBcUU7QUFDckQsMkNBQXVCLEdBQWE7SUFDbkQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRixvRUFBb0U7QUFDcEQsMENBQXNCLEdBQWE7SUFDbEQsa0NBQWtDO0NBQ2xDLENBQUM7QUFDRix5REFBeUQ7QUFDekMsK0JBQVcsR0FBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFDbEUsZ0VBQWdFO0FBQ2hELHNDQUFrQixHQUFhO0lBQzlDLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLHFDQUFpQixHQUFhLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUM5RSxpRUFBaUU7QUFDakQsdUNBQW1CLEdBQWE7SUFDL0MsK0JBQStCO0NBQy9CLENBQUM7QUFDRiw2RUFBNkU7QUFDN0QsbURBQStCLEdBQWE7SUFDM0QsMkNBQTJDO0NBQzNDLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsaUNBQWEsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDdEUsa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0Ysd0VBQXdFO0FBQ3hELDhDQUEwQixHQUFhO0lBQ3RELHNDQUFzQztDQUN0QyxDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELCtDQUEyQixHQUFhO0lBQ3ZELHVDQUF1QztDQUN2QyxDQUFDO0FBQ0YsaUZBQWlGO0FBQ2pFLHVEQUFtQyxHQUFhO0lBQy9ELCtDQUErQztDQUMvQyxDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLCtCQUFXLEdBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ2xFLHNFQUFzRTtBQUN0RCw0Q0FBd0IsR0FBYTtJQUNwRCxvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCx1Q0FBbUIsR0FBYTtJQUMvQywrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx3Q0FBb0IsR0FBYTtJQUNoRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDOUUsMEVBQTBFO0FBQzFELGdEQUE0QixHQUFhO0lBQ3hELHdDQUF3QztDQUN4QyxDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLGlDQUFhLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3RFLDRFQUE0RTtBQUM1RCxrREFBOEIsR0FBYTtJQUMxRCwwQ0FBMEM7Q0FDMUMsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDOUUsd0VBQXdFO0FBQ3hELDhDQUEwQixHQUFhO0lBQ3RELHNDQUFzQztDQUN0QyxDQUFDO0FBQ0Ysc0ZBQXNGO0FBQ3RFLDREQUF3QyxHQUFhO0lBQ3BFLG9EQUFvRDtDQUNwRCxDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsdUVBQXVFO0FBQ3ZELDZDQUF5QixHQUFhO0lBQ3JELHFDQUFxQztDQUNyQyxDQUFDO0FBQ0YsK0VBQStFO0FBQy9ELHFEQUFpQyxHQUFhO0lBQzdELDZDQUE2QztDQUM3QyxDQUFDO0FBQ0Ysd0VBQXdFO0FBQ3hELDhDQUEwQixHQUFhO0lBQ3RELHNDQUFzQztDQUN0QyxDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDRDQUF3QixHQUFhO0lBQ3BELG9DQUFvQztDQUNwQyxDQUFDO0FBQ0YscUZBQXFGO0FBQ3JFLDJEQUF1QyxHQUFhO0lBQ25FLG1EQUFtRDtDQUNuRCxDQUFDO0FBQ0YscUVBQXFFO0FBQ3JELDJDQUF1QixHQUFhO0lBQ25ELG1DQUFtQztDQUNuQyxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELHNDQUFrQixHQUFhO0lBQzlDLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0YsOERBQThEO0FBQzlDLG9DQUFnQixHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM1RSxvRkFBb0Y7QUFDcEUsMERBQXNDLEdBQWE7SUFDbEUsa0RBQWtEO0NBQ2xELENBQUM7QUFDRix1RUFBdUU7QUFDdkQsNkNBQXlCLEdBQWE7SUFDckQscUNBQXFDO0NBQ3JDLENBQUM7QUFDRixtRUFBbUU7QUFDbkQseUNBQXFCLEdBQWE7SUFDakQsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsbUNBQWUsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDMUUsc0VBQXNFO0FBQ3RELDRDQUF3QixHQUFhO0lBQ3BELG9DQUFvQztDQUNwQyxDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLGlDQUFhLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3RFLDJFQUEyRTtBQUMzRCxpREFBNkIsR0FBYTtJQUN6RCx5Q0FBeUM7Q0FDekMsQ0FBQztBQUNGLHdFQUF3RTtBQUN4RCw4Q0FBMEIsR0FBYTtJQUN0RCxzQ0FBc0M7Q0FDdEMsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCx1Q0FBbUIsR0FBYTtJQUMvQywrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx3Q0FBb0IsR0FBYTtJQUNoRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLGtGQUFrRjtBQUNsRSx3REFBb0MsR0FBYTtJQUNoRSxnREFBZ0Q7Q0FDaEQsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx3Q0FBb0IsR0FBYTtJQUNoRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxpQ0FBYSxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN0RSxvRUFBb0U7QUFDcEQsMENBQXNCLEdBQWE7SUFDbEQsa0NBQWtDO0NBQ2xDLENBQUM7QUFDRixpRUFBaUU7QUFDakQsdUNBQW1CLEdBQWE7SUFDL0MsK0JBQStCO0NBQy9CLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MscUNBQWlCLEdBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQzlFLDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDNUUscUVBQXFFO0FBQ3JELDJDQUF1QixHQUFhO0lBQ25ELG1DQUFtQztDQUNuQyxDQUFDO0FBQ0YscUZBQXFGO0FBQ3JFLDJEQUF1QyxHQUFhO0lBQ25FLG1EQUFtRDtDQUNuRCxDQUFDO0FBQ0Ysd0VBQXdFO0FBQ3hELDhDQUEwQixHQUFhO0lBQ3RELHNDQUFzQztDQUN0QyxDQUFDO0FBQ0Ysb0ZBQW9GO0FBQ3BFLDBEQUFzQyxHQUFhO0lBQ2xFLGtEQUFrRDtDQUNsRCxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELHNDQUFrQixHQUFhO0lBQzlDLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLG9DQUFnQixHQUFhLEVBQUUsQ0FBQztBQUNoRCxrRUFBa0U7QUFDbEQsMENBQXNCLEdBQWEsRUFBRSxDQUFDO0FBQ3RELG1FQUFtRTtBQUNuRCwyQ0FBdUIsR0FBYSxFQUFFLENBQUM7QUFDdkQsbUVBQW1FO0FBQ25ELDJDQUF1QixHQUFhO0lBQ25ELGlDQUFpQztDQUNqQyxDQUFDO0FBQ0Ysd0VBQXdFO0FBQ3hELGdEQUE0QixHQUFhO0lBQ3hELHNDQUFzQztDQUN0QyxDQUFDO0FBQ0YsdURBQXVEO0FBQ3ZDLCtCQUFXLEdBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ2hFLHVGQUF1RjtBQUN2RSwrREFBMkMsR0FBYTtJQUN2RSxxREFBcUQ7Q0FDckQsQ0FBQztBQUNGLG1GQUFtRjtBQUNuRSwyREFBdUMsR0FBYTtJQUNuRSxpREFBaUQ7Q0FDakQsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCwwQ0FBc0IsR0FBYTtJQUNsRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYTtJQUM1QyxtQkFBbUI7SUFDbkIsNEJBQTRCO0lBQzVCLGNBQWM7Q0FDZCxDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGtDQUFjLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3hFLGlFQUFpRTtBQUNqRCx1Q0FBbUIsR0FBYTtJQUMvQywrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLDhFQUE4RTtBQUM5RCxvREFBZ0MsR0FBYTtJQUM1RCwrQkFBK0I7SUFDL0IsMEJBQTBCO0NBQzFCLENBQUM7QUFDRixpRUFBaUU7QUFDakQsdUNBQW1CLEdBQWE7SUFDL0MsK0JBQStCO0NBQy9CLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsNENBQXdCLEdBQWE7SUFDcEQsb0NBQW9DO0NBQ3BDLENBQUM7QUFDRixtRUFBbUU7QUFDbkQseUNBQXFCLEdBQWE7SUFDakQsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRix5REFBeUQ7QUFDekMsK0JBQVcsR0FBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFDbEUsNERBQTREO0FBQzVDLGtDQUFjLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3hFLHlEQUF5RDtBQUN6QywrQkFBVyxHQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUNsRSxpRUFBaUU7QUFDakQsdUNBQW1CLEdBQWE7SUFDL0MsK0JBQStCO0NBQy9CLENBQUM7QUFDRixzREFBc0Q7QUFDdEMsNEJBQVEsR0FBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDNUQsMkRBQTJEO0FBQzNDLGlDQUFhLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3RFLDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDNUUsNERBQTREO0FBQzVDLGtDQUFjLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3hFLHdFQUF3RTtBQUN4RCw4Q0FBMEIsR0FBYTtJQUN0RCxzQ0FBc0M7Q0FDdEMsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDOUUsOERBQThEO0FBQzlDLG9DQUFnQixHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM1RSx5RUFBeUU7QUFDekQsK0NBQTJCLEdBQWE7SUFDdkQsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRiwwREFBMEQ7QUFDMUMsZ0NBQVksR0FBYSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDcEUsa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELHVDQUFtQixHQUFhO0lBQy9DLCtCQUErQjtDQUMvQixDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLHFDQUFpQixHQUFhLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUM5RSwwREFBMEQ7QUFDMUMsZ0NBQVksR0FBYSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDcEUsMkVBQTJFO0FBQzNELGlEQUE2QixHQUFhO0lBQ3pELHlDQUF5QztDQUN6QyxDQUFDO0FBQ0YsOERBQThEO0FBQzlDLG9DQUFnQixHQUFhLEVBQUUsQ0FBQztBQUNoRCx5REFBeUQ7QUFDekMsK0JBQVcsR0FBYSxFQUFFLENBQUM7QUFDM0MseURBQXlEO0FBQ3pDLCtCQUFXLEdBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ2xFLHFFQUFxRTtBQUNyRCwyQ0FBdUIsR0FBYSxFQUFFLENBQUM7QUFDdkQsbUVBQW1FO0FBQ25ELHlDQUFxQixHQUFhLEVBQUUsQ0FBQztBQUNyRCxpRUFBaUU7QUFDakQsdUNBQW1CLEdBQWE7SUFDL0MsK0JBQStCO0NBQy9CLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsaUNBQWEsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDdEUsNkRBQTZEO0FBQzdDLG1DQUFlLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzFFLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDOUUsaUVBQWlFO0FBQ2pELHVDQUFtQixHQUFhO0lBQy9DLCtCQUErQjtDQUMvQixDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELDBDQUFzQixHQUFhO0lBQ2xELGtDQUFrQztDQUNsQyxDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLG1DQUFlLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzFFLHNEQUFzRDtBQUN0Qyw0QkFBUSxHQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUM1RCw0REFBNEQ7QUFDNUMsa0NBQWMsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDeEUsOERBQThEO0FBQzlDLG9DQUFnQixHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM1RSwwRUFBMEU7QUFDMUQsZ0RBQTRCLEdBQWE7SUFDeEQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MscUNBQWlCLEdBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQzlFLHdEQUF3RDtBQUN4Qyw4QkFBVSxHQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNoRSxxRUFBcUU7QUFDckQsMkNBQXVCLEdBQWE7SUFDbkQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsNENBQXdCLEdBQWE7SUFDcEQsb0NBQW9DO0NBQ3BDLENBQUM7QUFDRixrRkFBa0Y7QUFDbEUsd0RBQW9DLEdBQWE7SUFDaEUsZ0RBQWdEO0NBQ2hELENBQUM7QUFDRiw4RUFBOEU7QUFDOUQsb0RBQWdDLEdBQWE7SUFDNUQsNENBQTRDO0NBQzVDLENBQUM7QUFDRixtRUFBbUU7QUFDbkQseUNBQXFCLEdBQWE7SUFDakQsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRixzREFBc0Q7QUFDdEMsNEJBQVEsR0FBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDNUQsOERBQThEO0FBQzlDLG9DQUFnQixHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM1RSx5RUFBeUU7QUFDekQsK0NBQTJCLEdBQWE7SUFDdkQsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MscUNBQWlCLEdBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQzlFLDREQUE0RDtBQUM1QyxrQ0FBYyxHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUN4RSx1RUFBdUU7QUFDdkQsNkNBQXlCLEdBQWE7SUFDckQscUNBQXFDO0NBQ3JDLENBQUM7QUFDRix5RUFBeUU7QUFDekQsK0NBQTJCLEdBQWE7SUFDdkQsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRixxRUFBcUU7QUFDckQsMkNBQXVCLEdBQWE7SUFDbkQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRixtRUFBbUU7QUFDbkQseUNBQXFCLEdBQWE7SUFDakQsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRiw0REFBNEQ7QUFDNUMsa0NBQWMsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDeEUsbUZBQW1GO0FBQ25FLHlEQUFxQyxHQUFhO0lBQ2pFLGlEQUFpRDtDQUNqRCxDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLHFDQUFpQixHQUFhLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUM5RSxvRUFBb0U7QUFDcEQsMENBQXNCLEdBQWE7SUFDbEQsa0NBQWtDO0NBQ2xDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MscUNBQWlCLEdBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQzlFLDRFQUE0RTtBQUM1RCxrREFBOEIsR0FBYTtJQUMxRCwwQ0FBMEM7Q0FDMUMsQ0FBQztBQUNGLHdEQUF3RDtBQUN4Qyw4QkFBVSxHQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNoRSx3RUFBd0U7QUFDeEQsOENBQTBCLEdBQWE7SUFDdEQsc0NBQXNDO0NBQ3RDLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsd0NBQW9CLEdBQWE7SUFDaEQsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsNENBQXdCLEdBQWE7SUFDcEQsb0NBQW9DO0NBQ3BDLENBQUM7QUFDRixxRUFBcUU7QUFDckQsMkNBQXVCLEdBQWE7SUFDbkQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRixrRkFBa0Y7QUFDbEUsd0RBQW9DLEdBQWE7SUFDaEUsZ0RBQWdEO0NBQ2hELENBQUM7QUFDRixtRUFBbUU7QUFDbkQseUNBQXFCLEdBQWE7SUFDakQsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsd0NBQW9CLEdBQWE7SUFDaEQsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsbUNBQWUsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDMUUsd0VBQXdFO0FBQ3hELDhDQUEwQixHQUFhO0lBQ3RELHNDQUFzQztDQUN0QyxDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELDBDQUFzQixHQUFhO0lBQ2xELGtDQUFrQztDQUNsQyxDQUFDO0FBQ0YsZ0ZBQWdGO0FBQ2hFLHNEQUFrQyxHQUFhO0lBQzlELDhDQUE4QztDQUM5QyxDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLGlDQUFhLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3RFLGdFQUFnRTtBQUNoRCxzQ0FBa0IsR0FBYTtJQUM5Qyw4QkFBOEI7Q0FDOUIsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyxnQ0FBWSxHQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNwRSx5REFBeUQ7QUFDekMsK0JBQVcsR0FBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFDbEUsa0VBQWtFO0FBQ2xELHdDQUFvQixHQUFhO0lBQ2hELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0Ysd0RBQXdEO0FBQ3hDLDhCQUFVLEdBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ2hFLDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYSxFQUFFLENBQUM7QUFDaEQsd0VBQXdFO0FBQ3hELDhDQUEwQixHQUFhO0lBQ3RELHNDQUFzQztDQUN0QyxDQUFDO0FBQ0YscUVBQXFFO0FBQ3JELDJDQUF1QixHQUFhO0lBQ25ELG1DQUFtQztDQUNuQyxDQUFDO0FBQ0Ysc0RBQXNEO0FBQ3RDLDRCQUFRLEdBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQzVELDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDNUUsd0ZBQXdGO0FBQ3hFLDhEQUEwQyxHQUFhO0lBQ3RFLHNEQUFzRDtDQUN0RCxDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLHFDQUFpQixHQUFhLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUM5RSwrREFBK0Q7QUFDL0MscUNBQWlCLEdBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQzlFLGlFQUFpRTtBQUNqRCx1Q0FBbUIsR0FBYTtJQUMvQywrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLHdEQUF3RDtBQUN4Qyw4QkFBVSxHQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNoRSxnRkFBZ0Y7QUFDaEUsc0RBQWtDLEdBQWE7SUFDOUQsOENBQThDO0NBQzlDLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsb0NBQWdCLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQzVFLDREQUE0RDtBQUM1QyxrQ0FBYyxHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUN4RSwyREFBMkQ7QUFDM0MsaUNBQWEsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDdEUsd0VBQXdFO0FBQ3hELDhDQUEwQixHQUFhO0lBQ3RELHNDQUFzQztDQUN0QyxDQUFDO0FBQ0YsdURBQXVEO0FBQ3ZDLDZCQUFTLEdBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQzlELDBEQUEwRDtBQUMxQyxnQ0FBWSxHQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNwRSw2REFBNkQ7QUFDN0MsbUNBQWUsR0FBYSxFQUFFLENBQUM7QUFDL0MsOERBQThEO0FBQzlDLG9DQUFnQixHQUFhO0lBQzVDLGNBQWM7SUFDZCw0QkFBNEI7Q0FDNUIsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCwwQ0FBc0IsR0FBYTtJQUNsRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLG9EQUFvRDtBQUNwQywwQkFBTSxHQUFhO0lBQ2xDLCtCQUErQjtJQUMvQixrQkFBa0I7Q0FDbEIsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCw0Q0FBd0IsR0FBYTtJQUNwRCwrQkFBK0I7SUFDL0Isb0NBQW9DO0NBQ3BDLENBQUM7QUFDRixvREFBb0Q7QUFDcEMsMEJBQU0sR0FBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDeEQseUVBQXlFO0FBQ3pELCtDQUEyQixHQUFhO0lBQ3ZELHVDQUF1QztDQUN2QyxDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLGlDQUFhLEdBQWEsRUFBRSxDQUFDO0FBQzdDLDhFQUE4RTtBQUM5RCxvREFBZ0MsR0FBYTtJQUM1RCw0Q0FBNEM7Q0FDNUMsQ0FBQztBQUNGLDhFQUE4RTtBQUM5RCxvREFBZ0MsR0FBYTtJQUM1RCw0Q0FBNEM7Q0FDNUMsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCwyQ0FBdUIsR0FBYTtJQUNuRCxtQ0FBbUM7Q0FDbkMsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCw0Q0FBd0IsR0FBYSxFQUFFLENBQUM7QUFDeEQsNERBQTREO0FBQzVDLGtDQUFjLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3hFLHNFQUFzRTtBQUN0RCw0Q0FBd0IsR0FBYTtJQUNwRCxvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLHVFQUF1RTtBQUN2RCw2Q0FBeUIsR0FBYTtJQUNyRCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCwyQ0FBdUIsR0FBYTtJQUNuRCxtQ0FBbUM7Q0FDbkMsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCx5Q0FBcUIsR0FBYTtJQUNqRCxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCwwQ0FBc0IsR0FBYTtJQUNsRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyxnQ0FBWSxHQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNwRSxnRUFBZ0U7QUFDaEQsc0NBQWtCLEdBQWE7SUFDOUMsOEJBQThCO0NBQzlCLENBQUM7QUFDRixxRUFBcUU7QUFDckQsMkNBQXVCLEdBQWE7SUFDbkQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsaUNBQWEsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDdEUsZ0VBQWdFO0FBQ2hELHNDQUFrQixHQUFhO0lBQzlDLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0YscUVBQXFFO0FBQ3JELDJDQUF1QixHQUFhLEVBQUUsQ0FBQztBQUN2RCxrRUFBa0U7QUFDbEQsd0NBQW9CLEdBQWEsRUFBRSxDQUFDO0FBQ3BELDJEQUEyRDtBQUMzQyxpQ0FBYSxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN0RSx5RUFBeUU7QUFDekQsK0NBQTJCLEdBQWE7SUFDdkQsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRixxRUFBcUU7QUFDckQsMkNBQXVCLEdBQWE7SUFDbkQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRiw2RUFBNkU7QUFDN0QsbURBQStCLEdBQWE7SUFDM0QsMkNBQTJDO0NBQzNDLENBQUM7QUFDRixxREFBcUQ7QUFDckMsMkJBQU8sR0FBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDMUQsNkRBQTZEO0FBQzdDLG1DQUFlLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzFFLHNFQUFzRTtBQUN0RCw0Q0FBd0IsR0FBYTtJQUNwRCxvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCwwQ0FBc0IsR0FBYTtJQUNsRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx3Q0FBb0IsR0FBYTtJQUNoRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCx1Q0FBbUIsR0FBYTtJQUMvQywrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCx5Q0FBcUIsR0FBYTtJQUNqRCxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDOUUsNkRBQTZEO0FBQzdDLG1DQUFlLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzFFLDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDNUUsMERBQTBEO0FBQzFDLGdDQUFZLEdBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ3BFLGtFQUFrRTtBQUNsRCx3Q0FBb0IsR0FBYTtJQUNoRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLDREQUE0RDtBQUM1QyxrQ0FBYyxHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUN4RSwyREFBMkQ7QUFDM0MsaUNBQWEsR0FBYTtJQUN6QyxnQ0FBZ0M7SUFDaEMsbUNBQW1DO0lBQ25DLGNBQWM7SUFDZCx5QkFBeUI7SUFDekIsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQsZ0RBQTRCLEdBQWE7SUFDeEQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRixtRUFBbUU7QUFDbkQseUNBQXFCLEdBQWE7SUFDakQsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsd0NBQW9CLEdBQWE7SUFDaEQsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsc0NBQWtCLEdBQWE7SUFDOUMsOEJBQThCO0NBQzlCLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsaUNBQWEsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDdEUsK0RBQStEO0FBQy9DLHFDQUFpQixHQUFhLEVBQUUsQ0FBQztBQUNqRCwyREFBMkQ7QUFDM0MsaUNBQWEsR0FBYSxFQUFFLENBQUM7QUFDN0MsMERBQTBEO0FBQzFDLGdDQUFZLEdBQWE7SUFDeEMsY0FBYztJQUNkLHdCQUF3QjtDQUN4QixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGtDQUFjLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3hFLGdGQUFnRjtBQUNoRSxzREFBa0MsR0FBYTtJQUM5RCw4Q0FBOEM7Q0FDOUMsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDNUUsZ0VBQWdFO0FBQ2hELHNDQUFrQixHQUFhO0lBQzlDLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0YsbUVBQW1FO0FBQ25ELHlDQUFxQixHQUFhO0lBQ2pELGlDQUFpQztDQUNqQyxDQUFDO0FBQ0YsdURBQXVEO0FBQ3ZDLDZCQUFTLEdBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQzlELDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDNUUsdUVBQXVFO0FBQ3ZELDZDQUF5QixHQUFhO0lBQ3JELHFDQUFxQztDQUNyQyxDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLCtCQUFXLEdBQWE7SUFDdkMsY0FBYztJQUNkLHVCQUF1QjtDQUN2QixDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELHNDQUFrQixHQUFhO0lBQzlDLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDRDQUF3QixHQUFhO0lBQ3BELG9DQUFvQztDQUNwQyxDQUFDO0FBQ0YsbUZBQW1GO0FBQ25FLHlEQUFxQyxHQUFhO0lBQ2pFLGlEQUFpRDtDQUNqRCxDQUFDO0FBQ0YsdUVBQXVFO0FBQ3ZELDZDQUF5QixHQUFhO0lBQ3JELHFDQUFxQztDQUNyQyxDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLG1DQUFlLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzFFLHdFQUF3RTtBQUN4RCw4Q0FBMEIsR0FBYTtJQUN0RCxzQ0FBc0M7Q0FDdEMsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxtQ0FBZSxHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUMxRSxnRUFBZ0U7QUFDaEQsc0NBQWtCLEdBQWE7SUFDOUMsOEJBQThCO0NBQzlCLENBQUM7QUFDRixtRUFBbUU7QUFDbkQseUNBQXFCLEdBQWE7SUFDakQsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsNENBQXdCLEdBQWE7SUFDcEQsY0FBYztJQUNkLG9DQUFvQztDQUNwQyxDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELDBDQUFzQixHQUFhO0lBQ2xELGNBQWM7SUFDZCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLG1GQUFtRjtBQUNuRSx5REFBcUMsR0FBYTtJQUNqRSxpREFBaUQ7Q0FDakQsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxvQ0FBZ0IsR0FBYTtJQUM1QyxtQkFBbUI7SUFDbkIsNEJBQTRCO0NBQzVCLENBQUM7QUFDRiw0REFBNEQ7QUFDNUMsa0NBQWMsR0FBYTtJQUMxQyxjQUFjO0lBQ2QsMEJBQTBCO0NBQzFCLENBQUM7QUFDRixxRUFBcUU7QUFDckQsMkNBQXVCLEdBQWE7SUFDbkQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRixtRUFBbUU7QUFDbkQseUNBQXFCLEdBQWE7SUFDakQsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsaUNBQWEsR0FBYTtJQUN6QyxtQkFBbUI7SUFDbkIseUJBQXlCO0NBQ3pCLENBQUM7QUFDRiwwREFBMEQ7QUFDMUMsZ0NBQVksR0FBYSxFQUFFLENBQUM7QUFDNUMsMERBQTBEO0FBQzFDLGdDQUFZLEdBQWE7SUFDeEMsK0JBQStCO0lBQy9CLHdCQUF3QjtDQUN4QixDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLCtCQUFXLEdBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ2xFLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDOUUseURBQXlEO0FBQ3pDLCtCQUFXLEdBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ2xFLGtFQUFrRTtBQUNsRCx3Q0FBb0IsR0FBYTtJQUNoRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxxQ0FBaUIsR0FBYTtJQUM3QyxjQUFjO0lBQ2QsNkJBQTZCO0NBQzdCLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsbUNBQWUsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDMUUsNERBQTREO0FBQzVDLGtDQUFjLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBR3pFOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFteEIvQjs7T0FFRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBYTtRQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsMEJBQTBCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWE7UUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLDJCQUEyQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFnQjtRQUM5QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQ3RCLE1BQWdCO1FBRWhCLE9BQU87WUFDTiwyQkFBMkIsRUFBRSxFQUFFLDRCQUE0QixFQUFFLE1BQU0sRUFBRTtTQUNyRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUMxQixLQUFhO1FBRWIsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLGdDQUFnQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDdEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQ3JCLEtBQWE7UUFFYixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsaUNBQWlDLENBQ3ZDLEtBQWE7UUFFYixPQUFPO1lBQ04sWUFBWSxFQUFFO2dCQUNiLDREQUE0RCxFQUFFLEtBQUs7YUFDbkU7U0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUNoQyxLQUFhO1FBRWIsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLHNDQUFzQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdDQUFnQyxDQUN0QyxLQUFhO1FBRWIsT0FBTztZQUNOLFlBQVksRUFBRSxFQUFFLDRDQUE0QyxFQUFFLEtBQUssRUFBRTtTQUNyRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUNoQyxLQUFhO1FBRWIsT0FBTztZQUNOLFlBQVksRUFBRTtnQkFDYixxREFBcUQsRUFBRSxLQUFLO2FBQzVEO1NBQ0QsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxrQ0FBa0MsQ0FDeEMsTUFBZ0I7UUFFaEIsT0FBTztZQUNOLDJCQUEyQixFQUFFO2dCQUM1Qiw4Q0FBOEMsRUFBRSxNQUFNO2FBQ3REO1NBQ0QsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FDNUIsS0FBYTtRQUViLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxrQ0FBa0MsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FDMUIsS0FBYTtRQUViLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBYTtRQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMseUJBQXlCLENBQy9CLEtBQWE7UUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUscUNBQXFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUN4RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNEJBQTRCLENBQ2xDLEtBQWE7UUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsd0NBQXdDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQ3ZCLEtBQWM7UUFFZCxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsb0NBQW9DLENBQzFDLEtBQWM7UUFFZCxPQUFPO1lBQ04sSUFBSSxFQUFFLEVBQUUsZ0RBQWdELEVBQUUsS0FBSyxFQUFFO1NBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQ25DLEtBQWM7UUFFZCxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUseUNBQXlDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsOEJBQThCLENBQ3BDLEtBQWM7UUFFZCxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsMENBQTBDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUN4RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsOEJBQThCLENBQ3BDLEtBQWE7UUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsMENBQTBDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsaUNBQWlDLENBQ3ZDLEtBQWE7UUFFYixPQUFPO1lBQ04sU0FBUyxFQUFFLEVBQUUsNkNBQTZDLEVBQUUsS0FBSyxFQUFFO1NBQ25FLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQ25DLEtBQWE7UUFFYixPQUFPO1lBQ04sWUFBWSxFQUFFLEVBQUUseUNBQXlDLEVBQUUsS0FBSyxFQUFFO1NBQ2xFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQ25DLEtBQWE7UUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUseUNBQXlDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0NBQWdDLENBQ3RDLEtBQWE7UUFFYixPQUFPO1lBQ04sU0FBUyxFQUFFLEVBQUUsNENBQTRDLEVBQUUsS0FBSyxFQUFFO1NBQ2xFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQzFCLEtBQWE7UUFFYixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsdUJBQXVCLENBQzdCLEtBQWE7UUFFYixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsbUNBQW1DLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWE7UUFDaEMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFhO1FBQ2xDLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSwwQkFBMEIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx1QkFBdUIsQ0FDN0IsS0FBYTtRQUViLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxtQ0FBbUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBZ0I7UUFDaEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUN4RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQ3RCLE1BQWdCO1FBRWhCLE9BQU87WUFDTix3QkFBd0IsRUFBRSxFQUFFLDRCQUE0QixFQUFFLE1BQU0sRUFBRTtTQUNsRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FDbkIsTUFBZ0I7UUFFaEIsT0FBTztZQUNOLDJCQUEyQixFQUFFLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxFQUFFO1NBQ2xFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsK0JBQStCLENBQ3JDLEtBQWM7UUFFZCxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsMkNBQTJDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUNwQixLQUFjO1FBRWQsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLDBCQUEwQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FDckIsS0FBYTtRQUViLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FDekIsS0FBYTtRQUViLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSwrQkFBK0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxxQ0FBcUMsQ0FDM0MsS0FBYTtRQUViLE9BQU87WUFDTixZQUFZLEVBQUU7Z0JBQ2IsaURBQWlELEVBQUUsS0FBSzthQUN4RDtTQUNELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsbUJBQW1CLENBQ3pCLEtBQWE7UUFFYixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsK0JBQStCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQWE7UUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUN6QixLQUFhO1FBRWIsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLGdDQUFnQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDdEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHlCQUF5QixDQUMvQixLQUFhO1FBRWIsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLHNDQUFzQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUN0QixLQUFjO1FBRWQsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLDRCQUE0QixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG1DQUFtQyxDQUN6QyxNQUFnQjtRQUVoQixPQUFPO1lBQ04sd0JBQXdCLEVBQUU7Z0JBQ3pCLCtDQUErQyxFQUFFLE1BQU07YUFDdkQ7U0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFhO1FBQ2hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQ3JCLEtBQWE7UUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsbUJBQW1CLENBQ3pCLEtBQWE7UUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsK0JBQStCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQ3ZCLEtBQWE7UUFFYixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWE7UUFDaEMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFhO1FBQzlCLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx5QkFBeUIsQ0FDL0IsS0FBYTtRQUViLE9BQU87WUFDTixZQUFZLEVBQUU7Z0JBQ2Isa0RBQWtELEVBQUUsS0FBSzthQUN6RDtTQUNELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsd0JBQXdCLENBQzlCLEtBQWE7UUFFYixPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsb0NBQW9DLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQzFCLEtBQWE7UUFFYixPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsZ0NBQWdDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQ3RCLEtBQWE7UUFFYixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMseUJBQXlCLENBQy9CLE1BQWdCO1FBRWhCLE9BQU87WUFDTix3QkFBd0IsRUFBRTtnQkFDekIscUNBQXFDLEVBQUUsTUFBTTthQUM3QztTQUNELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQWE7UUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FDdkIsTUFBZ0I7UUFFaEIsT0FBTztZQUNOLDJCQUEyQixFQUFFLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxFQUFFO1NBQ3RFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUNyQixLQUFhO1FBRWIsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLDJCQUEyQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFhO1FBQ2hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQ3JCLEtBQWE7UUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsbUJBQW1CLENBQ3pCLE1BQWdCO1FBRWhCLE9BQU87WUFDTiwyQkFBMkIsRUFBRSxFQUFFLCtCQUErQixFQUFFLE1BQU0sRUFBRTtTQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FDaEIsTUFBZ0I7UUFFaEIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWE7UUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFhO1FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQzlELENBQUM7O0FBajNDRixrREFrM0NDOzs7QUFqM0NBLHVEQUF1RDtBQUN2Qyx3Q0FBb0IsR0FBYTtJQUNoRCwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLHlCQUF5QjtDQUN6QixDQUFDO0FBQ0YsbUVBQW1FO0FBQ25ELG9EQUFnQyxHQUFhO0lBQzVELDJCQUEyQjtDQUMzQixDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELHFEQUFpQyxHQUFhO0lBQzdELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCwwREFBc0MsR0FBYTtJQUNsRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsdURBQW1DLEdBQWE7SUFDL0QsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLDZDQUF5QixHQUFhO0lBQ3JELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxnREFBNEIsR0FBYTtJQUN4RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRix5REFBeUQ7QUFDekMsMENBQXNCLEdBQWE7SUFDbEQsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYixxQkFBcUI7SUFDckIsNEJBQTRCO0lBQzVCLHlCQUF5QjtJQUN6QiwrQkFBK0I7SUFDL0IsNEJBQTRCO0lBQzVCLHFDQUFxQztDQUNyQyxDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELHFEQUFpQyxHQUFhO0lBQzdELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QywrQ0FBMkIsR0FBYTtJQUN2RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MsZ0RBQTRCLEdBQWE7SUFDeEQsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYiwyQ0FBMkM7SUFDM0MsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0Isc0JBQXNCO0NBQ3RCLENBQUM7QUFDRixpRUFBaUU7QUFDakQsa0RBQThCLEdBQWE7SUFDMUQsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYiwyQ0FBMkM7SUFDM0MsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0Isc0JBQXNCO0NBQ3RCLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsOENBQTBCLEdBQWE7SUFDdEQsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYix5QkFBeUI7SUFDekIsK0JBQStCO0lBQy9CLHNCQUFzQjtDQUN0QixDQUFDO0FBQ0YsNEVBQTRFO0FBQzVELDZEQUF5QyxHQUFhO0lBQ3JFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCxxREFBaUMsR0FBYTtJQUM3RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixvRUFBb0U7QUFDcEQscURBQWlDLEdBQWE7SUFDN0QsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELG1EQUErQixHQUFhO0lBQzNELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyw4Q0FBMEIsR0FBYTtJQUN0RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw4RUFBOEU7QUFDOUQsK0RBQTJDLEdBQWE7SUFDdkUsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYix5QkFBeUI7SUFDekIsMkNBQTJDO0lBQzNDLCtCQUErQjtJQUMvQiw0QkFBNEI7SUFDNUIsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0Isc0JBQXNCO0NBQ3RCLENBQUM7QUFDRixpRUFBaUU7QUFDakQsa0RBQThCLEdBQWE7SUFDMUQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLDZDQUF5QixHQUFhO0lBQ3JELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsZ0NBQWdDO0lBQ2hDLG9CQUFvQjtJQUNwQix3Q0FBd0M7SUFDeEMscUJBQXFCO0lBQ3JCLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIscUNBQXFDO0lBQ3JDLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0Isc0JBQXNCO0NBQ3RCLENBQUM7QUFDRix3RUFBd0U7QUFDeEQseURBQXFDLEdBQWE7SUFDakUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELDBEQUFzQyxHQUFhO0lBQ2xFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCx1REFBbUMsR0FBYTtJQUMvRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsK0NBQTJCLEdBQWE7SUFDdkQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELHFEQUFpQyxHQUFhO0lBQzdELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsNEJBQTRCO0lBQzVCLHlCQUF5QjtJQUN6QixvQkFBb0I7SUFDcEIsNEJBQTRCO0lBQzVCLG9DQUFvQztJQUNwQyxnQ0FBZ0M7SUFDaEMsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQixzQkFBc0I7Q0FDdEIsQ0FBQztBQUNGLGdFQUFnRTtBQUNoRCxpREFBNkIsR0FBYTtJQUN6RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsbURBQStCLEdBQWE7SUFDM0QsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYixnREFBZ0Q7SUFDaEQseUNBQXlDO0lBQ3pDLDBDQUEwQztJQUMxQyw2Q0FBNkM7SUFDN0MseUNBQXlDO0lBQ3pDLDRDQUE0QztDQUM1QyxDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELHFEQUFpQyxHQUFhO0lBQzdELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtDQUN4QixDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLDBDQUFzQixHQUFhO0lBQ2xELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCwwREFBc0MsR0FBYTtJQUNsRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixpRUFBaUU7QUFDakQsa0RBQThCLEdBQWE7SUFDMUQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkVBQTZFO0FBQzdELDhEQUEwQyxHQUFhO0lBQ3RFLDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsZ0NBQWdDO0lBQ2hDLG1DQUFtQztJQUNuQyx3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLHlCQUF5QjtJQUN6QiwyQ0FBMkM7SUFDM0MsK0JBQStCO0lBQy9CLDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQixzQkFBc0I7Q0FDdEIsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyw0Q0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRix3RUFBd0U7QUFDeEQseURBQXFDLEdBQWE7SUFDakUsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYixvQkFBb0I7Q0FDcEIsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCwwREFBc0MsR0FBYTtJQUNsRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixpRkFBaUY7QUFDakUsa0VBQThDLEdBQWE7SUFDMUUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLDBDQUFzQixHQUFhO0lBQ2xELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQixzQkFBc0I7Q0FDdEIsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCxrREFBOEIsR0FBYTtJQUMxRCwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtDQUN4QixDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLGdEQUE0QixHQUFhO0lBQ3hELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDBFQUEwRTtBQUMxRCwyREFBdUMsR0FBYTtJQUNuRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsNENBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYixrQ0FBa0M7SUFDbEMsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQixzQkFBc0I7Q0FDdEIsQ0FBQztBQUNGLDRFQUE0RTtBQUM1RCw2REFBeUMsR0FBYTtJQUNyRSwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLHlCQUF5QjtJQUN6QiwyQ0FBMkM7SUFDM0MsK0JBQStCO0lBQy9CLDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQixzQkFBc0I7Q0FDdEIsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxnREFBNEIsR0FBYTtJQUN4RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixzRkFBc0Y7QUFDdEUsdUVBQW1ELEdBQ2xFO0lBQ0MsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYix5QkFBeUI7SUFDekIsMkNBQTJDO0lBQzNDLCtCQUErQjtJQUMvQiw0QkFBNEI7SUFDNUIsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0Isc0JBQXNCO0NBQ3RCLENBQUM7QUFDSCxrRUFBa0U7QUFDbEQsbURBQStCLEdBQWE7SUFDM0QsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYixxREFBcUQ7SUFDckQsK0JBQStCO0lBQy9CLGdDQUFnQztJQUNoQyxzQ0FBc0M7Q0FDdEMsQ0FBQztBQUNGLHVFQUF1RTtBQUN2RCx3REFBb0MsR0FBYTtJQUNoRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwrRUFBK0U7QUFDL0QsZ0VBQTRDLEdBQWE7SUFDeEUsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYix5QkFBeUI7SUFDekIsMkNBQTJDO0lBQzNDLCtCQUErQjtJQUMvQiw0QkFBNEI7SUFDNUIsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0Isc0JBQXNCO0NBQ3RCLENBQUM7QUFDRix3RUFBd0U7QUFDeEQseURBQXFDLEdBQWE7SUFDakUsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYix5QkFBeUI7SUFDekIsMkNBQTJDO0lBQzNDLCtCQUErQjtJQUMvQiw0QkFBNEI7SUFDNUIsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0Isc0JBQXNCO0NBQ3RCLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsdURBQW1DLEdBQWE7SUFDL0QsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYiw0QkFBNEI7SUFDNUIsZ0NBQWdDO0lBQ2hDLHlCQUF5QjtJQUN6QixpREFBaUQ7SUFDakQsK0NBQStDO0lBQy9DLHNCQUFzQjtJQUN0QiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLHNCQUFzQjtDQUN0QixDQUFDO0FBQ0YscUZBQXFGO0FBQ3JFLHNFQUFrRCxHQUNqRSxDQUFDLDBCQUEwQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQzdDLHFFQUFxRTtBQUNyRCxzREFBa0MsR0FBYTtJQUM5RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsaURBQTZCLEdBQWE7SUFDekQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsOERBQThEO0FBQzlDLCtDQUEyQixHQUFhO0lBQ3ZELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCxvREFBZ0MsR0FBYTtJQUM1RCwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLHlCQUF5QjtJQUN6QiwyQ0FBMkM7SUFDM0MsK0JBQStCO0lBQy9CLDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQixzQkFBc0I7Q0FDdEIsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyw4Q0FBMEIsR0FBYTtJQUN0RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsdURBQW1DLEdBQWE7SUFDL0QsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLDRDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IscUJBQXFCO0lBQ3JCLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIsK0JBQStCO0lBQy9CLHdCQUF3QjtJQUN4Qiw0QkFBNEI7SUFDNUIscUNBQXFDO0NBQ3JDLENBQUM7QUFDRiwyRUFBMkU7QUFDM0QsNERBQXdDLEdBQWE7SUFDcEUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELGtEQUE4QixHQUFhO0lBQzFELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2Isa0NBQWtDO0lBQ2xDLDZCQUE2QjtJQUM3QixnQ0FBZ0M7SUFDaEMsbUNBQW1DO0lBQ25DLHdCQUF3QjtJQUN4QiwwQkFBMEI7SUFDMUIseUJBQXlCO0lBQ3pCLDJDQUEyQztJQUMzQywyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQixzQkFBc0I7Q0FDdEIsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCxtREFBK0IsR0FBYTtJQUMzRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsbURBQStCLEdBQWE7SUFDM0QsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYix5QkFBeUI7SUFDekIsb0JBQW9CO0lBQ3BCLDJCQUEyQjtJQUMzQiwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyw0Q0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixvRUFBb0U7QUFDcEQscURBQWlDLEdBQWE7SUFDN0QsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELGtEQUE4QixHQUFhO0lBQzFELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2Isd0NBQXdDO0lBQ3hDLHFCQUFxQjtJQUNyQiw0QkFBNEI7SUFDNUIseUJBQXlCO0lBQ3pCLHFDQUFxQztJQUNyQywrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxnREFBNEIsR0FBYTtJQUN4RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsK0NBQTJCLEdBQWE7SUFDdkQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLDBDQUFzQixHQUFhO0lBQ2xELCtCQUErQjtJQUMvQiw0QkFBNEI7Q0FDNUIsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCxtREFBK0IsR0FBYTtJQUMzRCwwQkFBMEI7Q0FDMUIsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyw0Q0FBd0IsR0FBYTtJQUNwRCwrQkFBK0I7SUFDL0IsNEJBQTRCO0NBQzVCLENBQUM7QUFDRiwwREFBMEQ7QUFDMUMsMkNBQXVCLEdBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNwRSxnRUFBZ0U7QUFDaEQsaURBQTZCLEdBQWE7SUFDekQsNkJBQTZCO0NBQzdCLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsaURBQTZCLEdBQWE7SUFDekQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsOERBQThEO0FBQzlDLCtDQUEyQixHQUFhO0lBQ3ZELHVCQUF1QjtDQUN2QixDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLDBDQUFzQixHQUFhO0lBQ2xELDBCQUEwQjtJQUMxQiw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxnREFBNEIsR0FBYTtJQUN4RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixzREFBc0Q7QUFDdEMsdUNBQW1CLEdBQWE7SUFDL0Msa0RBQWtEO0NBQ2xELENBQUM7QUFDRixzRUFBc0U7QUFDdEQsdURBQW1DLEdBQWE7SUFDL0QsNkJBQTZCO0NBQzdCLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsOENBQTBCLEdBQWE7SUFDdEQseUJBQXlCO0lBQ3pCLCtCQUErQjtJQUMvQixzQkFBc0I7Q0FDdEIsQ0FBQztBQUNGLDREQUE0RDtBQUM1Qyw2Q0FBeUIsR0FBYTtJQUNyRCxnQ0FBZ0M7SUFDaEMsd0NBQXdDO0lBQ3hDLHFCQUFxQjtJQUNyQiw0QkFBNEI7SUFDNUIseUJBQXlCO0lBQ3pCLHFDQUFxQztJQUNyQywrQkFBK0I7SUFDL0Isc0JBQXNCO0NBQ3RCLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsbURBQStCLEdBQWE7SUFDM0QscURBQXFEO0lBQ3JELDhDQUE4QztJQUM5QywrQkFBK0I7SUFDL0IsZ0NBQWdDO0lBQ2hDLHNDQUFzQztDQUN0QyxDQUFDO0FBQ0Ysd0VBQXdFO0FBQ3hELHlEQUFxQyxHQUFhO0lBQ2pFLDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IseUJBQXlCO0lBQ3pCLDJDQUEyQztJQUMzQywrQkFBK0I7SUFDL0IsNEJBQTRCO0lBQzVCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLHNCQUFzQjtDQUN0QixDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELHVEQUFtQyxHQUFhO0lBQy9ELDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIsaURBQWlEO0lBQ2pELCtDQUErQztJQUMvQyxzQkFBc0I7Q0FDdEIsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCxzREFBa0MsR0FBYTtJQUM5RCw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyw4Q0FBMEIsR0FBYTtJQUN0RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsNENBQXdCLEdBQWE7SUFDcEQscUJBQXFCO0lBQ3JCLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIsK0JBQStCO0lBQy9CLHdCQUF3QjtJQUN4Qiw0QkFBNEI7SUFDNUIscUNBQXFDO0NBQ3JDLENBQUM7QUFDRixpRUFBaUU7QUFDakQsa0RBQThCLEdBQWE7SUFDMUQsNkJBQTZCO0lBQzdCLHlCQUF5QjtJQUN6QiwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCxrREFBOEIsR0FBYTtJQUMxRCx3Q0FBd0M7SUFDeEMscUJBQXFCO0lBQ3JCLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIseUJBQXlCO0lBQ3pCLHFDQUFxQztJQUNyQywrQkFBK0I7Q0FDL0IsQ0FBQztBQUVGLHVEQUF1RDtBQUN2QyxtQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxvQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsZ0NBQVksR0FBRyxhQUFhLENBQUM7QUFDN0MsZ0VBQWdFO0FBQ2hELHFDQUFpQixHQUFHLDRCQUE0QixDQUFDO0FBQ2pFLDZEQUE2RDtBQUM3QywyQ0FBdUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMzRSxpREFBaUQ7QUFDakMsNkJBQVMsR0FBRyxvQkFBb0IsQ0FBQztBQUNqRCx3REFBd0Q7QUFDeEMscUNBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUseUZBQXlGO0FBQ3pFLHdEQUFvQyxHQUNuRCw0REFBNEQsQ0FBQztBQUM5RCxtRUFBbUU7QUFDbkQsa0RBQThCLEdBQzdDLHNDQUFzQyxDQUFDO0FBQ3hDLHlFQUF5RTtBQUN6RCx5REFBcUMsR0FDcEQsNENBQTRDLENBQUM7QUFDOUMsa0ZBQWtGO0FBQ2xFLGdEQUE0QixHQUMzQyxxREFBcUQsQ0FBQztBQUN2RCxrRkFBa0Y7QUFDbEUsMERBQXNDLEdBQ3JELDhDQUE4QyxDQUFDO0FBQ2hELCtEQUErRDtBQUMvQyw2Q0FBeUIsR0FDeEMsa0NBQWtDLENBQUM7QUFDcEMsNkRBQTZEO0FBQzdDLDBDQUFzQixHQUFHLGdDQUFnQyxDQUFDO0FBQzFFLGlEQUFpRDtBQUNqQyw2QkFBUyxHQUFHLG9CQUFvQixDQUFDO0FBQ2pELCtEQUErRDtBQUMvQyxpREFBNkIsR0FDNUMscUNBQXFDLENBQUM7QUFDdkMsa0VBQWtFO0FBQ2xELHFEQUFpQyxHQUNoRCx3Q0FBd0MsQ0FBQztBQUMxQyx3REFBd0Q7QUFDeEMsdUNBQW1CLEdBQUcsNkJBQTZCLENBQUM7QUFDcEUsMkVBQTJFO0FBQzNELDZEQUF5QyxHQUN4RCxnREFBZ0QsQ0FBQztBQUNsRCxvRUFBb0U7QUFDcEQscURBQWlDLEdBQ2hELHlDQUF5QyxDQUFDO0FBQzNDLHFFQUFxRTtBQUNyRCxzREFBa0MsR0FDakQsMENBQTBDLENBQUM7QUFDNUMsb0VBQW9FO0FBQ3BELHVEQUFtQyxHQUNsRCwwQ0FBMEMsQ0FBQztBQUM1Qyx1RUFBdUU7QUFDdkQsMkRBQXVDLEdBQ3RELDZDQUE2QyxDQUFDO0FBQy9DLHNFQUFzRTtBQUN0RCxzREFBa0MsR0FDakQseUNBQXlDLENBQUM7QUFDM0MsbUVBQW1FO0FBQ25ELHNEQUFrQyxHQUNqRCx5Q0FBeUMsQ0FBQztBQUMzQyxzRUFBc0U7QUFDdEQsMERBQXNDLEdBQ3JELDRDQUE0QyxDQUFDO0FBQzlDLDZEQUE2RDtBQUM3QywyQ0FBdUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMzRSxnRUFBZ0U7QUFDaEQsOENBQTBCLEdBQ3pDLG1DQUFtQyxDQUFDO0FBQ3JDLHFEQUFxRDtBQUNyQyxrQ0FBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELHVEQUF1RDtBQUN2QyxvQ0FBZ0IsR0FBRywwQkFBMEIsQ0FBQztBQUM5RCw2REFBNkQ7QUFDN0MsZ0RBQTRCLEdBQzNDLG1DQUFtQyxDQUFDO0FBQ3JDLHNEQUFzRDtBQUN0Qyw4QkFBVSxHQUFHLHFCQUFxQixDQUFDO0FBQ25ELDZEQUE2RDtBQUM3QyxzQ0FBa0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNsRSw2REFBNkQ7QUFDN0Msa0NBQWMsR0FBRyx5QkFBeUIsQ0FBQztBQUMzRCxzRUFBc0U7QUFDdEQsc0RBQWtDLEdBQ2pELDJDQUEyQyxDQUFDO0FBQzdDLHFEQUFxRDtBQUNyQyxvQ0FBZ0IsR0FBRywwQkFBMEIsQ0FBQztBQUM5RCx5REFBeUQ7QUFDekMscUNBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsNkRBQTZEO0FBQzdDLDBDQUFzQixHQUFHLCtCQUErQixDQUFDO0FBQ3pFLDhFQUE4RTtBQUM5RCw2REFBeUMsR0FDeEQsaURBQWlELENBQUM7QUFDbkQsNERBQTREO0FBQzVDLHlDQUFxQixHQUFHLCtCQUErQixDQUFDO0FBQ3hFLDhDQUE4QztBQUM5Qiw2QkFBUyxHQUFHLG9CQUFvQixDQUFDO0FBQ2pELDZEQUE2RDtBQUM3QywwQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSxtRUFBbUU7QUFDbkQsaURBQTZCLEdBQzVDLHNDQUFzQyxDQUFDO0FBQ3hDLHVEQUF1RDtBQUN2QyxxQ0FBaUIsR0FBRyw0QkFBNEIsQ0FBQztBQUNqRSxnRkFBZ0Y7QUFDaEUsMkRBQXVDLEdBQ3RELCtDQUErQyxDQUFDO0FBQ2pELGtEQUFrRDtBQUNsQyxrQ0FBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELHFEQUFxRDtBQUNyQyxzQ0FBa0IsR0FBRywyQkFBMkIsQ0FBQztBQUNqRSx5REFBeUQ7QUFDekMsMENBQXNCLEdBQUcsK0JBQStCLENBQUM7QUFDekUsMERBQTBEO0FBQzFDLHVDQUFtQixHQUFHLDZCQUE2QixDQUFDO0FBQ3BFLHFEQUFxRDtBQUNyQyxpQ0FBYSxHQUFHLHdCQUF3QixDQUFDO0FBQ3pELHFEQUFxRDtBQUNyQyxnQ0FBWSxHQUFHLHdCQUF3QixDQUFDO0FBQ3hELG1EQUFtRDtBQUNuQywrQkFBVyxHQUFHLHNCQUFzQixDQUFDO0FBQ3JELCtFQUErRTtBQUMvRCwrQ0FBMkIsR0FDMUMsa0RBQWtELENBQUM7QUFDcEQsa0VBQWtFO0FBQ2xELDhDQUEwQixHQUN6QyxvQ0FBb0MsQ0FBQztBQUN0Qyw4REFBOEQ7QUFDOUMsMENBQXNCLEdBQUcsZ0NBQWdDLENBQUM7QUFDMUUseURBQXlEO0FBQ3pDLHNDQUFrQixHQUFHLDRCQUE0QixDQUFDO0FBQ2xFLHNFQUFzRTtBQUN0RCxnREFBNEIsR0FDM0MscUNBQXFDLENBQUM7QUFDdkMsc0RBQXNEO0FBQ3RDLGtDQUFjLEdBQUcseUJBQXlCLENBQUM7QUFDM0Qsb0RBQW9EO0FBQ3BDLGdDQUFZLEdBQUcsdUJBQXVCLENBQUM7QUFDdkQsaUVBQWlFO0FBQ2pELHNDQUFrQixHQUFHLDZCQUE2QixDQUFDO0FBQ25FLHdEQUF3RDtBQUN4QyxxQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSxrREFBa0Q7QUFDbEMsa0NBQWMsR0FBRyx3QkFBd0IsQ0FBQztBQUMxRCxxREFBcUQ7QUFDckMsc0NBQWtCLEdBQUcsMkJBQTJCLENBQUM7QUFDakUsbUVBQW1FO0FBQ25ELDBDQUFzQixHQUFHLCtCQUErQixDQUFDO0FBQ3pFLDBEQUEwRDtBQUMxQywrQkFBVyxHQUFHLHNCQUFzQixDQUFDO0FBQ3JELGlEQUFpRDtBQUNqQyxnQ0FBWSxHQUFHLHVCQUF1QixDQUFDO0FBQ3ZELHFEQUFxRDtBQUNyQyxpQ0FBYSxHQUFHLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2Uvc2FnZW1ha2VyLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBzYWdlbWFrZXIgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNhZ2VNYWtlckFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJzYWdlbWFrZXJcIjtcblxuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpBY2Nlc3NNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2Vzc01vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOkFjY2Vzc01vZGVsUGFja2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QWRkQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZEFzc29jaWF0aW9uID0gXCJzYWdlbWFrZXI6QWRkQXNzb2NpYXRpb25cIjtcblx0LyoqIFtUYWdnaW5nXSBzYWdlbWFrZXI6QWRkVGFncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFncyA9IFwic2FnZW1ha2VyOkFkZFRhZ3NcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkFzc29jaWF0ZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUcmlhbENvbXBvbmVudCA9IFwic2FnZW1ha2VyOkFzc29jaWF0ZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpBdHRhY2hDbHVzdGVyTm9kZVZvbHVtZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWUgPSBcInNhZ2VtYWtlcjpBdHRhY2hDbHVzdGVyTm9kZVZvbHVtZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hBZGRDbHVzdGVyTm9kZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQWRkQ2x1c3Rlck5vZGVzID0gXCJzYWdlbWFrZXI6QmF0Y2hBZGRDbHVzdGVyTm9kZXNcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUNsdXN0ZXJOb2RlcyA9IFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UgPVxuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6QmF0Y2hHZXRNZXRyaWNzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldE1ldHJpY3MgPSBcInNhZ2VtYWtlcjpCYXRjaEdldE1ldHJpY3NcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6QmF0Y2hHZXRSZWNvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UmVjb3JkID0gXCJzYWdlbWFrZXI6QmF0Y2hHZXRSZWNvcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkJhdGNoUHV0TWV0cmljcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hQdXRNZXRyaWNzID0gXCJzYWdlbWFrZXI6QmF0Y2hQdXRNZXRyaWNzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaFJlYm9vdENsdXN0ZXJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXMgPSBcInNhZ2VtYWtlcjpCYXRjaFJlYm9vdENsdXN0ZXJOb2Rlc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFJlcGxhY2VDbHVzdGVyTm9kZXMgPVxuXHRcdFwic2FnZW1ha2VyOkJhdGNoUmVwbGFjZUNsdXN0ZXJOb2Rlc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hXcml0ZVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hXcml0ZVJlY29yZCA9IFwic2FnZW1ha2VyOkJhdGNoV3JpdGVSZWNvcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNhbGxNbGZsb3dBcHBBcGkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxNbGZsb3dBcHBBcGkgPSBcInNhZ2VtYWtlcjpDYWxsTWxmbG93QXBwQXBpXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDYWxsUGFydG5lckFwcEFwaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FsbFBhcnRuZXJBcHBBcGkgPSBcInNhZ2VtYWtlcjpDYWxsUGFydG5lckFwcEFwaVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBDYWxsV2l0aEJlYXJlclRva2VuID0gXCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q29tcGxldGVSb2xsb3V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDb21wbGV0ZVJvbGxvdXQgPSBcInNhZ2VtYWtlcjpDb21wbGV0ZVJvbGxvdXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFJQmVuY2htYXJrSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSUJlbmNobWFya0pvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUFJQmVuY2htYXJrSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBSVdvcmtsb2FkQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnID0gXCJzYWdlbWFrZXI6Q3JlYXRlQUlXb3JrbG9hZENvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY3Rpb24gPSBcInNhZ2VtYWtlcjpDcmVhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFsZ29yaXRobSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWxnb3JpdGhtID0gXCJzYWdlbWFrZXI6Q3JlYXRlQWxnb3JpdGhtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcCA9IFwic2FnZW1ha2VyOkNyZWF0ZUFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcEltYWdlQ29uZmlnID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcnRpZmFjdCA9IFwic2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYlYyID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iVjJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDb2RlUmVwb3NpdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpDcmVhdGVDb2RlUmVwb3NpdG9yeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29tcGlsYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNvbXB1dGVRdW90YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250ZXh0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29udGV4dFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRGV2aWNlRmxlZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluID0gXCJzYWdlbWFrZXI6Q3JlYXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRWRnZURlcGxveW1lbnRQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFZGdlUGFja2FnaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlRWRnZVBhY2thZ2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50ID0gXCJzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50Q29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludENvbmZpZyA9IFwic2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50Q29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6Q3JlYXRlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGZWF0dXJlR3JvdXAgPSBcInNhZ2VtYWtlcjpDcmVhdGVGZWF0dXJlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUZsb3dEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93RGVmaW5pdGlvbiA9IFwic2FnZW1ha2VyOkNyZWF0ZUZsb3dEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YiA9IFwic2FnZW1ha2VyOkNyZWF0ZUh1YlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHMgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh1YkNvbnRlbnRQcmVzaWduZWRVcmxzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHVtYW5UYXNrVWkgPSBcInNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlID0gXCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUltYWdlVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW1hZ2VWZXJzaW9uID0gXCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUNvbXBvbmVudCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50ID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhYmVsaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUxpbmVhZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGluZWFnZUdyb3VwUG9saWN5ID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVMaW5lYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1sZmxvd0FwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93QXBwID0gXCJzYWdlbWFrZXI6Q3JlYXRlTWxmbG93QXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWwgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxDYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmQgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDYXJkRXhwb3J0Sm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlID0gXCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXAgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGUgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSA9IFwic2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0aW1pemF0aW9uSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlT3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwID0gXCJzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUGlwZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6Q3JlYXRlUGlwZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZERvbWFpblVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWREb21haW5VcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmwgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByb2Nlc3NpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2Nlc3NpbmdKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVQcm9jZXNzaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9qZWN0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSA9IFwic2FnZW1ha2VyOkNyZWF0ZVJlc2VydmVkQ2FwYWNpdHlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVNoYXJlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTaGFyZWRNb2RlbCA9IFwic2FnZW1ha2VyOkNyZWF0ZVNoYXJlZE1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3BhY2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVRyYWluaW5nUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdQbGFuID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVUcmFuc2Zvcm1Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYW5zZm9ybUpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZVRyYW5zZm9ybUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJpYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJpYWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbENvbXBvbmVudCA9IFwic2FnZW1ha2VyOkNyZWF0ZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVVc2VyUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlclByb2ZpbGUgPSBcInNhZ2VtYWtlcjpDcmVhdGVVc2VyUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlV29ya2ZvcmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrZm9yY2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVXb3JrZm9yY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrdGVhbSA9IFwic2FnZW1ha2VyOkNyZWF0ZVdvcmt0ZWFtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBSUJlbmNobWFya0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlCZW5jaG1hcmtKb2IgPSBcInNhZ2VtYWtlcjpEZWxldGVBSUJlbmNobWFya0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQUlXb3JrbG9hZENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlXb3JrbG9hZENvbmZpZyA9IFwic2FnZW1ha2VyOkRlbGV0ZUFJV29ya2xvYWRDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWN0aW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBbGdvcml0aG0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFsZ29yaXRobSA9IFwic2FnZW1ha2VyOkRlbGV0ZUFsZ29yaXRobVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHAgPSBcInNhZ2VtYWtlcjpEZWxldGVBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFwcEltYWdlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBJbWFnZUNvbmZpZyA9IFwic2FnZW1ha2VyOkRlbGV0ZUFwcEltYWdlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXJ0aWZhY3QgPSBcInNhZ2VtYWtlcjpEZWxldGVBcnRpZmFjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc29jaWF0aW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDb2RlUmVwb3NpdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpEZWxldGVDb2RlUmVwb3NpdG9yeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29tcGlsYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNvbXB1dGVRdW90YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcHV0ZVF1b3RhID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb250ZXh0ID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29udGV4dFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRGV2aWNlRmxlZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURldmljZUZsZWV0ID0gXCJzYWdlbWFrZXI6RGVsZXRlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluID0gXCJzYWdlbWFrZXI6RGVsZXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVkZ2VEZXBsb3ltZW50UGxhbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRWRnZURlcGxveW1lbnRQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZHBvaW50Q29uZmlnID0gXCJzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpEZWxldGVFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVGZWF0dXJlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZlYXR1cmVHcm91cCA9IFwic2FnZW1ha2VyOkRlbGV0ZUZlYXR1cmVHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRmxvd0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dEZWZpbml0aW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlRmxvd0RlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh1YiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViID0gXCJzYWdlbWFrZXI6RGVsZXRlSHViXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWJDb250ZW50ID0gXCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFJlZmVyZW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHVtYW5Mb29wICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpEZWxldGVIdW1hbkxvb3BcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh1bWFuVGFza1VpICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdW1hblRhc2tVaSA9IFwic2FnZW1ha2VyOkRlbGV0ZUh1bWFuVGFza1VpXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1hZ2UgPSBcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSW1hZ2VWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbWFnZVZlcnNpb24gPSBcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUNvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVMaW5lYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxpbmVhZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTGluZWFnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNbGZsb3dBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd0FwcCA9IFwic2FnZW1ha2VyOkRlbGV0ZU1sZmxvd0FwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsQ2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxDYXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wdGltaXphdGlvbkpvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZU9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUGFydG5lckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGFydG5lckFwcCA9IFwic2FnZW1ha2VyOkRlbGV0ZVBhcnRuZXJBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVBpcGVsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQaXBlbGluZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVBpcGVsaW5lXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVQcm9jZXNzaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9jZXNzaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlUHJvY2Vzc2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvamVjdCA9IFwic2FnZW1ha2VyOkRlbGV0ZVByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3JkID0gXCJzYWdlbWFrZXI6RGVsZXRlUmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3kgPSBcInNhZ2VtYWtlcjpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlU3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNwYWNlID0gXCJzYWdlbWFrZXI6RGVsZXRlU3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtUYWdnaW5nXSBzYWdlbWFrZXI6RGVsZXRlVGFncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFncyA9IFwic2FnZW1ha2VyOkRlbGV0ZVRhZ3NcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZVRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVUcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpYWwgPSBcInNhZ2VtYWtlcjpEZWxldGVUcmlhbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6RGVsZXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyUHJvZmlsZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVVzZXJQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVXb3JrZm9yY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmb3JjZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVdvcmtmb3JjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6RGVsZXRlV29ya3RlYW1cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlcGxveUh1Yk1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXBsb3lIdWJNb2RlbCA9IFwic2FnZW1ha2VyOkRlcGxveUh1Yk1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZXJlZ2lzdGVyRGV2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlckRldmljZXMgPSBcInNhZ2VtYWtlcjpEZXJlZ2lzdGVyRGV2aWNlc1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFJQmVuY2htYXJrSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFJQmVuY2htYXJrSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBSUJlbmNobWFya0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQUlXb3JrbG9hZENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJV29ya2xvYWRDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWN0aW9uID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBY3Rpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBbGdvcml0aG0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWxnb3JpdGhtID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBbGdvcml0aG1cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBcHBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBcHBJbWFnZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBJbWFnZUNvbmZpZyA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXBwSW1hZ2VDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcnRpZmFjdCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXJ0aWZhY3RcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXV0b01MSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2JWMiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iVjJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlckV2ZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyRXZlbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVySW5mZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJJbmZlcmVuY2UgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlckluZmVyZW5jZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJOb2RlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJOb2RlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyTm9kZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29kZVJlcG9zaXRvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNvZGVSZXBvc2l0b3J5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcGlsYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNvbXBpbGF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29tcHV0ZVF1b3RhICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXB1dGVRdW90YSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29udGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb250ZXh0ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDb250ZXh0XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGV2aWNlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2VGbGVldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZXZpY2VGbGVldCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9tYWluID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVEb21haW5cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWRnZURlcGxveW1lbnRQbGFuID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRDb25maWcgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50Q29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVFeHBlcmltZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVHcm91cCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZUdyb3VwXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZU1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVNZXRhZGF0YSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZU1ldGFkYXRhXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRmxvd0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxvd0RlZmluaXRpb24gPSBcInNhZ2VtYWtlcjpEZXNjcmliZUZsb3dEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHViICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1YiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSHViXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdWJDb250ZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJDb250ZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5Mb29wICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1bWFuTG9vcCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5Mb29wXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5UYXNrVWkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHVtYW5UYXNrVWkgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUh1bWFuVGFza1VpXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbWFnZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSW1hZ2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW1hZ2VWZXJzaW9uID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYlNjaGVtYVZlcnNpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSm9iU2NoZW1hVmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUxhYmVsaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxhYmVsaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVMYWJlbGluZ0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUxpbmVhZ2VHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaW5lYWdlR3JvdXAgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUxpbmVhZ2VHcm91cFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd0FwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dBcHAgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd0FwcFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWwgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGUgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RlYm9va0luc3RhbmNlID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRpbWl6YXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBhcnRuZXJBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGFydG5lckFwcCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlUGFydG5lckFwcFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQcm9jZXNzaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2Nlc3NpbmdKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVByb2Nlc3NpbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2plY3QgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVByb2plY3RcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHkgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVNoYXJlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNoYXJlZE1vZGVsID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVTaGFyZWRNb2RlbFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNwYWNlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVTcGFjZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW1cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdQbGFuID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3RvcnkgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyYW5zZm9ybUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFuc2Zvcm1Kb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVRyYW5zZm9ybUpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyaWFsID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbENvbXBvbmVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXJQcm9maWxlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVVc2VyUHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVdvcmtmb3JjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3JrZm9yY2UgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVdvcmtmb3JjZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVXb3JrdGVhbVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaENsdXN0ZXJOb2RlVm9sdW1lID0gXCJzYWdlbWFrZXI6RGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvID1cblx0XHRcInNhZ2VtYWtlcjpEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudCA9XG5cdFx0XCJzYWdlbWFrZXI6RGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyA9XG5cdFx0XCJzYWdlbWFrZXI6RW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkV4dGVuZFRyYWluaW5nUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXh0ZW5kVHJhaW5pbmdQbGFuID0gXCJzYWdlbWFrZXI6RXh0ZW5kVHJhaW5pbmdQbGFuXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldERlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXBsb3ltZW50cyA9IFwic2FnZW1ha2VyOkdldERlcGxveW1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldERldmljZUZsZWV0UmVwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXZpY2VGbGVldFJlcG9ydCA9IFwic2FnZW1ha2VyOkdldERldmljZUZsZWV0UmVwb3J0XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldERldmljZVJlZ2lzdHJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGV2aWNlUmVnaXN0cmF0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpHZXREZXZpY2VSZWdpc3RyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0TGluZWFnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRMaW5lYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOkdldExpbmVhZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb3JkID0gXCJzYWdlbWFrZXI6R2V0UmVjb3JkXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVBvbGljeSA9IFwic2FnZW1ha2VyOkdldFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1cyA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRTZWFyY2hTdWdnZXN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VhcmNoU3VnZ2VzdGlvbnMgPSBcInNhZ2VtYWtlcjpHZXRTZWFyY2hTdWdnZXN0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0SHViQ29udGVudCA9IFwic2FnZW1ha2VyOkltcG9ydEh1YkNvbnRlbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50ID0gXCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRBc3luYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRBc3luYyA9IFwic2FnZW1ha2VyOkludm9rZUVuZHBvaW50QXN5bmNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRXaXRoUmVzcG9uc2VTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtID1cblx0XHRcInNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QUlCZW5jaG1hcmtKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QUlCZW5jaG1hcmtKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEFJQmVuY2htYXJrSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSVJlY29tbWVuZGF0aW9uSm9icyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBSVdvcmtsb2FkQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJV29ya2xvYWRDb25maWdzID0gXCJzYWdlbWFrZXI6TGlzdEFJV29ya2xvYWRDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0aW9ucyA9IFwic2FnZW1ha2VyOkxpc3RBY3Rpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxnb3JpdGhtcyA9IFwic2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBbGlhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxpYXNlcyA9IFwic2FnZW1ha2VyOkxpc3RBbGlhc2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBcHBJbWFnZUNvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbWFnZUNvbmZpZ3MgPSBcInNhZ2VtYWtlcjpMaXN0QXBwSW1hZ2VDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBcHBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwcyA9IFwic2FnZW1ha2VyOkxpc3RBcHBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBcnRpZmFjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcnRpZmFjdHMgPSBcInNhZ2VtYWtlcjpMaXN0QXJ0aWZhY3RzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnMgPSBcInNhZ2VtYWtlcjpMaXN0QXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBdXRvTUxKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b01MSm9icyA9IFwic2FnZW1ha2VyOkxpc3RBdXRvTUxKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2JcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyRXZlbnRzID0gXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJFdmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJOb2RlcyA9IFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyTm9kZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3MgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlnc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q2x1c3RlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVycyA9IFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29kZVJlcG9zaXRvcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvZGVSZXBvc2l0b3JpZXMgPSBcInNhZ2VtYWtlcjpMaXN0Q29kZVJlcG9zaXRvcmllc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29tcGlsYXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcGlsYXRpb25Kb2JzID0gXCJzYWdlbWFrZXI6TGlzdENvbXBpbGF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29tcHV0ZVF1b3RhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXB1dGVRdW90YXMgPSBcInNhZ2VtYWtlcjpMaXN0Q29tcHV0ZVF1b3Rhc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29udGV4dHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb250ZXh0cyA9IFwic2FnZW1ha2VyOkxpc3RDb250ZXh0c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REZXZpY2VGbGVldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VGbGVldHMgPSBcInNhZ2VtYWtlcjpMaXN0RGV2aWNlRmxlZXRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGV2aWNlcyA9IFwic2FnZW1ha2VyOkxpc3REZXZpY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REb21haW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9tYWlucyA9IFwic2FnZW1ha2VyOkxpc3REb21haW5zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFZGdlRGVwbG95bWVudFBsYW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZURlcGxveW1lbnRQbGFucyA9IFwic2FnZW1ha2VyOkxpc3RFZGdlRGVwbG95bWVudFBsYW5zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFZGdlUGFja2FnaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVkZ2VQYWNrYWdpbmdKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEVkZ2VQYWNrYWdpbmdKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFbmRwb2ludENvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmRwb2ludENvbmZpZ3MgPSBcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFbmRwb2ludHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmRwb2ludHMgPSBcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFeHBlcmltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cGVyaW1lbnRzID0gXCJzYWdlbWFrZXI6TGlzdEV4cGVyaW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RGZWF0dXJlR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmVhdHVyZUdyb3VwcyA9IFwic2FnZW1ha2VyOkxpc3RGZWF0dXJlR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RGbG93RGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbG93RGVmaW5pdGlvbnMgPSBcInNhZ2VtYWtlcjpMaXN0Rmxvd0RlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdWJDb250ZW50VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJDb250ZW50VmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0SHViQ29udGVudFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdWJDb250ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1YkNvbnRlbnRzID0gXCJzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdWJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVicyA9IFwic2FnZW1ha2VyOkxpc3RIdWJzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdW1hbkxvb3BzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5Mb29wcyA9IFwic2FnZW1ha2VyOkxpc3RIdW1hbkxvb3BzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdW1hblRhc2tVaXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdW1hblRhc2tVaXMgPSBcInNhZ2VtYWtlcjpMaXN0SHVtYW5UYXNrVWlzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEltYWdlVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZVZlcnNpb25zID0gXCJzYWdlbWFrZXI6TGlzdEltYWdlVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEltYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltYWdlcyA9IFwic2FnZW1ha2VyOkxpc3RJbWFnZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUNvbXBvbmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VDb21wb25lbnRzID0gXCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUNvbXBvbmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlRXhwZXJpbWVudHMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VFeHBlcmltZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9icyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEpvYlNjaGVtYVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm9iU2NoZW1hVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0Sm9iU2NoZW1hVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9icyA9IFwic2FnZW1ha2VyOkxpc3RMYWJlbGluZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW0gPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TGluZWFnZUdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExpbmVhZ2VHcm91cHMgPSBcInNhZ2VtYWtlcjpMaXN0TGluZWFnZUdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TWxmbG93QXBwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd0FwcHMgPSBcInNhZ2VtYWtlcjpMaXN0TWxmbG93QXBwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRFeHBvcnRKb2JzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsTWV0YWRhdGEgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxNZXRhZGF0YVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxQYWNrYWdlR3JvdXBzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsUGFja2FnZUdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUGFja2FnZXMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbHMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeSA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnlcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb25pdG9yaW5nQWxlcnRzID0gXCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nRXhlY3V0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ1NjaGVkdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdTY2hlZHVsZXMgPSBcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ1NjaGVkdWxlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlncyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3ROb3RlYm9va0luc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VzID0gXCJzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RPcHRpbWl6YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3B0aW1pemF0aW9uSm9icyA9IFwic2FnZW1ha2VyOkxpc3RPcHRpbWl6YXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQYXJ0bmVyQXBwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJBcHBzID0gXCJzYWdlbWFrZXI6TGlzdFBhcnRuZXJBcHBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwcyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lRXhlY3V0aW9ucyA9IFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvblwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVzID0gXCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UHJvY2Vzc2luZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9jZXNzaW5nSm9icyA9IFwic2FnZW1ha2VyOkxpc3RQcm9jZXNzaW5nSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UHJvamVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9qZWN0cyA9IFwic2FnZW1ha2VyOkxpc3RQcm9qZWN0c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29yZHMgPSBcInNhZ2VtYWtlcjpMaXN0UmVjb3Jkc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UmVzb3VyY2VDYXRhbG9ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlQ2F0YWxvZ3MgPSBcInNhZ2VtYWtlcjpMaXN0UmVzb3VyY2VDYXRhbG9nc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTaGFyZWRNb2RlbEV2ZW50cyA9IFwic2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbEV2ZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNoYXJlZE1vZGVsVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmVkTW9kZWxzID0gXCJzYWdlbWFrZXI6TGlzdFNoYXJlZE1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3BhY2VzID0gXCJzYWdlbWFrZXI6TGlzdFNwYWNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3RhZ2VEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RhZ2VEZXZpY2VzID0gXCJzYWdlbWFrZXI6TGlzdFN0YWdlRGV2aWNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3MgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTdWJzY3JpYmVkV29ya3RlYW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3Vic2NyaWJlZFdvcmt0ZWFtcyA9IFwic2FnZW1ha2VyOkxpc3RTdWJzY3JpYmVkV29ya3RlYW1zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFncyA9IFwic2FnZW1ha2VyOkxpc3RUYWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ0pvYnMgPSBcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyYWluaW5nUGxhbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ1BsYW5zID0gXCJzYWdlbWFrZXI6TGlzdFRyYWluaW5nUGxhbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFuc2Zvcm1Kb2JzID0gXCJzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyaWFsQ29tcG9uZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWFsQ29tcG9uZW50cyA9IFwic2FnZW1ha2VyOkxpc3RUcmlhbENvbXBvbmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyaWFscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWFscyA9IFwic2FnZW1ha2VyOkxpc3RUcmlhbHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eSA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VXNlclByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VXNlclByb2ZpbGVzID0gXCJzYWdlbWFrZXI6TGlzdFVzZXJQcm9maWxlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0V29ya2ZvcmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmtmb3JjZXMgPSBcInNhZ2VtYWtlcjpMaXN0V29ya2ZvcmNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0V29ya3RlYW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya3RlYW1zID0gXCJzYWdlbWFrZXI6TGlzdFdvcmt0ZWFtc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UHV0TGluZWFnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRMaW5lYWdlR3JvdXBQb2xpY3kgPSBcInNhZ2VtYWtlcjpQdXRMaW5lYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6UHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlB1dFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkID0gXCJzYWdlbWFrZXI6UHV0UmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpQdXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3kgPSBcInNhZ2VtYWtlcjpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpRdWVyeUxpbmVhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFF1ZXJ5TGluZWFnZSA9IFwic2FnZW1ha2VyOlF1ZXJ5TGluZWFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UmVnaXN0ZXJEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckRldmljZXMgPSBcInNhZ2VtYWtlcjpSZWdpc3RlckRldmljZXNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6UmVuZGVyVWlUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVuZGVyVWlUZW1wbGF0ZSA9IFwic2FnZW1ha2VyOlJlbmRlclVpVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlJldHJ5UGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJ5UGlwZWxpbmVFeGVjdXRpb24gPSBcInNhZ2VtYWtlcjpSZXRyeVBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTYW1wbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNhbXBsZSA9IFwic2FnZW1ha2VyOlNhbXBsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBTYW1wbGVXaXRoUmVzcG9uc2VTdHJlYW0gPVxuXHRcdFwic2FnZW1ha2VyOlNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpTZWFyY2ggKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaCA9IFwic2FnZW1ha2VyOlNlYXJjaFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5ncyA9XG5cdFx0XCJzYWdlbWFrZXI6U2VhcmNoVHJhaW5pbmdQbGFuT2ZmZXJpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTZW5kSGVhcnRiZWF0ICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kSGVhcnRiZWF0ID0gXCJzYWdlbWFrZXI6U2VuZEhlYXJ0YmVhdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlID1cblx0XHRcInNhZ2VtYWtlcjpTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzID1cblx0XHRcInNhZ2VtYWtlcjpTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2Vzc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZFNoYXJlZE1vZGVsRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRTaGFyZWRNb2RlbEV2ZW50ID0gXCJzYWdlbWFrZXI6U2VuZFNoYXJlZE1vZGVsRXZlbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENsdXN0ZXJIZWFsdGhDaGVjayA9IFwic2FnZW1ha2VyOlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydEVkZ2VEZXBsb3ltZW50U3RhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZSA9XG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEluZmVyZW5jZUV4cGVyaW1lbnQgPVxuXHRcdFwic2FnZW1ha2VyOlN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TW9uaXRvcmluZ1NjaGVkdWxlID0gXCJzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0Tm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROb3RlYm9va0luc3RhbmNlID0gXCJzYWdlbWFrZXI6U3RhcnROb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydFBpcGVsaW5lRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFBpcGVsaW5lRXhlY3V0aW9uID0gXCJzYWdlbWFrZXI6U3RhcnRQaXBlbGluZUV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNlc3Npb24gPSBcInNhZ2VtYWtlcjpTdGFydFNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BBSUJlbmNobWFya0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJQmVuY2htYXJrSm9iID0gXCJzYWdlbWFrZXI6U3RvcEFJQmVuY2htYXJrSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJUmVjb21tZW5kYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEF1dG9NTEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEF1dG9NTEpvYiA9IFwic2FnZW1ha2VyOlN0b3BBdXRvTUxKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BDb21waWxhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcENvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6U3RvcENvbXBpbGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wRWRnZURlcGxveW1lbnRTdGFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEVkZ2VEZXBsb3ltZW50U3RhZ2UgPSBcInNhZ2VtYWtlcjpTdG9wRWRnZURlcGxveW1lbnRTdGFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEVkZ2VQYWNrYWdpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlUGFja2FnaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcEVkZ2VQYWNrYWdpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BIdW1hbkxvb3AgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpTdG9wSHVtYW5Mb29wXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6U3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6U3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEpvYiA9IFwic2FnZW1ha2VyOlN0b3BKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BMYWJlbGluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcExhYmVsaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcExhYmVsaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6U3RvcE1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTW9uaXRvcmluZ1NjaGVkdWxlID0gXCJzYWdlbWFrZXI6U3RvcE1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcE5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BOb3RlYm9va0luc3RhbmNlID0gXCJzYWdlbWFrZXI6U3RvcE5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BPcHRpbWl6YXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpTdG9wT3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wUGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQaXBlbGluZUV4ZWN1dGlvbiA9IFwic2FnZW1ha2VyOlN0b3BQaXBlbGluZUV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcFByb2Nlc3NpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQcm9jZXNzaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcFByb2Nlc3NpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BUcmFpbmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcFRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wVHJhbnNmb3JtSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhbnNmb3JtSm9iID0gXCJzYWdlbWFrZXI6U3RvcFRyYW5zZm9ybUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VHJhaW5IdWJNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVHJhaW5IdWJNb2RlbCA9IFwic2FnZW1ha2VyOlRyYWluSHViTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWN0aW9uID0gXCJzYWdlbWFrZXI6VXBkYXRlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVBcHBJbWFnZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwSW1hZ2VDb25maWcgPSBcInNhZ2VtYWtlcjpVcGRhdGVBcHBJbWFnZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFydGlmYWN0ID0gXCJzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVySW5mZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVySW5mZXJlbmNlID0gXCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlckluZmVyZW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU29mdHdhcmUgPSBcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU29mdHdhcmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb2RlUmVwb3NpdG9yeSA9IFwic2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDb21wdXRlUXVvdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbXB1dGVRdW90YSA9IFwic2FnZW1ha2VyOlVwZGF0ZUNvbXB1dGVRdW90YVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ29udGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGV4dCA9IFwic2FnZW1ha2VyOlVwZGF0ZUNvbnRleHRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZURldmljZUZsZWV0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXZpY2VGbGVldCA9IFwic2FnZW1ha2VyOlVwZGF0ZURldmljZUZsZWV0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXZpY2VzID0gXCJzYWdlbWFrZXI6VXBkYXRlRGV2aWNlc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb21haW4gPSBcInNhZ2VtYWtlcjpVcGRhdGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludCA9IFwic2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6VXBkYXRlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGZWF0dXJlR3JvdXAgPSBcInNhZ2VtYWtlcjpVcGRhdGVGZWF0dXJlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUZlYXR1cmVNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmVhdHVyZU1ldGFkYXRhID0gXCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZU1ldGFkYXRhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YiA9IFwic2FnZW1ha2VyOlVwZGF0ZUh1YlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViQ29udGVudCA9IFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZSA9IFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVJbWFnZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUltYWdlVmVyc2lvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTWxmbG93QXBwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dBcHAgPSBcInNhZ2VtYWtlcjpVcGRhdGVNbGZsb3dBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1vZGVsQ2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxDYXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOlVwZGF0ZU1vZGVsUGFja2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ0FsZXJ0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb25pdG9yaW5nQWxlcnQgPSBcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nQWxlcnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQYXJ0bmVyQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXJ0bmVyQXBwID0gXCJzYWdlbWFrZXI6VXBkYXRlUGFydG5lckFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZUV4ZWN1dGlvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lVmVyc2lvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdCA9IFwic2FnZW1ha2VyOlVwZGF0ZVByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVJld2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV3YXJkID0gXCJzYWdlbWFrZXI6VXBkYXRlUmV3YXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVTaGFyZWRNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2hhcmVkTW9kZWwgPSBcInNhZ2VtYWtlcjpVcGRhdGVTaGFyZWRNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlU3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNwYWNlID0gXCJzYWdlbWFrZXI6VXBkYXRlU3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOlVwZGF0ZVRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVUcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJpYWwgPSBcInNhZ2VtYWtlcjpVcGRhdGVUcmlhbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6VXBkYXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVVc2VyUHJvZmlsZSA9IFwic2FnZW1ha2VyOlVwZGF0ZVVzZXJQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVXb3JrZm9yY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtmb3JjZSA9IFwic2FnZW1ha2VyOlVwZGF0ZVdvcmtmb3JjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6VXBkYXRlV29ya3RlYW1cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkFjY2Vzc01vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaEdldE1ldHJpY3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaEdldFJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNhbGxXaXRoQmVhcmVyVG9rZW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJscyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQUlCZW5jaG1hcmtKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFJV29ya2xvYWRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFjdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQWxnb3JpdGhtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFwcEltYWdlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBcnRpZmFjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQXV0b01MSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBdXRvTUxKb2JWMixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3Rlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3RlckV2ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVySW5mZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVyTm9kZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ29kZVJlcG9zaXRvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNvbXBpbGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDb21wdXRlUXVvdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNvbnRleHQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRGV2aWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVEZXZpY2VGbGVldCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRG9tYWluLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVFbmRwb2ludENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRmVhdHVyZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVGZWF0dXJlTWV0YWRhdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUZsb3dEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVIdWIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh1YkNvbnRlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh1bWFuTG9vcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSHVtYW5UYXNrVWksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVJbWFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSW1hZ2VWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVMYWJlbGluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTGluZWFnZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNbGZsb3dBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxDYXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU9wdGltaXphdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGFydG5lckFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGlwZWxpbmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVByb2Nlc3NpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVByb2plY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVJlc2VydmVkQ2FwYWNpdHksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVNoYXJlZE1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVTcGFjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVUcmFpbmluZ1BsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3RvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYW5zZm9ybUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJpYWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVVc2VyUHJvZmlsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlV29ya2ZvcmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVXb3JrdGVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldERlcGxveW1lbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0RGV2aWNlRmxlZXRSZXBvcnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXREZXZpY2VSZWdpc3RyYXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRMaW5lYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldFJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRTY2FsaW5nQ29uZmlndXJhdGlvblJlY29tbWVuZGF0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0U2VhcmNoU3VnZ2VzdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5JbnZva2VFbmRwb2ludCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkludm9rZUVuZHBvaW50QXN5bmMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5JbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlJlbmRlclVpVGVtcGxhdGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZWFyY2gsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5BZGRBc3NvY2lhdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkFzc29jaWF0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaEFkZENsdXN0ZXJOb2Rlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hQdXRNZXRyaWNzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaFJlcGxhY2VDbHVzdGVyTm9kZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaFdyaXRlUmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ2FsbE1sZmxvd0FwcEFwaSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNhbGxQYXJ0bmVyQXBwQXBpLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ29tcGxldGVSb2xsb3V0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQUlCZW5jaG1hcmtKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQUlXb3JrbG9hZENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFjdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFsZ29yaXRobSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFwcEltYWdlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQXJ0aWZhY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBdXRvTUxKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBdXRvTUxKb2JWMixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNsdXN0ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ29kZVJlcG9zaXRvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDb21waWxhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNvbXB1dGVRdW90YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNvbnRleHQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVEZXZpY2VGbGVldCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZURvbWFpbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFZGdlUGFja2FnaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRW5kcG9pbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFbmRwb2ludENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVGZWF0dXJlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVGbG93RGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh1Yixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIdW1hblRhc2tVaSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSW1hZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbWFnZVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbmZlcmVuY2VDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTGFiZWxpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVMaW5lYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNbGZsb3dBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsQ2FyZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVPcHRpbWl6YXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQYXJ0bmVyQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVBpcGVsaW5lLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcmVzaWduZWROb3RlYm9va0luc3RhbmNlVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJvY2Vzc2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByb2plY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVSZXNlcnZlZENhcGFjaXR5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlU2hhcmVkTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVTcGFjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJhaW5pbmdQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJhbnNmb3JtSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJpYWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVVzZXJQcm9maWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlV29ya2ZvcmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBSUJlbmNobWFya0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBSVdvcmtsb2FkQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQWN0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQWxnb3JpdGhtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQXBwSW1hZ2VDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBcnRpZmFjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFzc29jaWF0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ2x1c3Rlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDb2RlUmVwb3NpdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNvbXBpbGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ29tcHV0ZVF1b3RhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ29udGV4dCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZURldmljZUZsZWV0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRG9tYWluLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRWRnZURlcGxveW1lbnRQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRWRnZURlcGxveW1lbnRTdGFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRW5kcG9pbnRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRmVhdHVyZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRmxvd0RlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIdWIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIdWJDb250ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh1bWFuTG9vcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh1bWFuVGFza1VpLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVJbWFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUltYWdlVmVyc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUluZmVyZW5jZUNvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVMaW5lYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNbGZsb3dBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsQ2FyZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVOb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU9wdGltaXphdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVBhcnRuZXJBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVQaXBlbGluZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVByb2Nlc3NpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVQcm9qZWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVTcGFjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlVHJpYWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVVzZXJQcm9maWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlV29ya2ZvcmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXBsb3lIdWJNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlcmVnaXN0ZXJEZXZpY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRXh0ZW5kVHJhaW5pbmdQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuSW1wb3J0SHViQ29udGVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlB1dExpbmVhZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUHV0UmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUHV0UmVzb3VyY2VQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5SZWdpc3RlckRldmljZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5SZXRyeVBpcGVsaW5lRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2FtcGxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2VuZEhlYXJ0YmVhdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZW5kU2hhcmVkTW9kZWxFdmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRIdW1hbkxvb3AsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydEluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydE1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydE5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydFBpcGVsaW5lRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRTZXNzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEFJQmVuY2htYXJrSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEFJUmVjb21tZW5kYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wQXV0b01MSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcENvbXBpbGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEVkZ2VEZXBsb3ltZW50U3RhZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wRWRnZVBhY2thZ2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BIdW1hbkxvb3AsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcExhYmVsaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcE1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcE1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BOb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcE9wdGltaXphdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BQaXBlbGluZUV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BQcm9jZXNzaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcFRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcFRyYW5zZm9ybUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlRyYWluSHViTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVBY3Rpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVBcHBJbWFnZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUFydGlmYWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ2x1c3Rlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNsdXN0ZXJJbmZlcmVuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ2x1c3RlclNvZnR3YXJlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ29kZVJlcG9zaXRvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDb21wdXRlUXVvdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDb250ZXh0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRGV2aWNlRmxlZXQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVEZXZpY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRG9tYWluLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRW5kcG9pbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUZlYXR1cmVHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUZlYXR1cmVNZXRhZGF0YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUh1Yixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUh1YkNvbnRlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVIdWJDb250ZW50UmVmZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSW1hZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbWFnZVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbmZlcmVuY2VDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1sZmxvd0FwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTW9kZWxDYXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTW9uaXRvcmluZ0FsZXJ0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVQYXJ0bmVyQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUGlwZWxpbmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVQaXBlbGluZUV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVBpcGVsaW5lVmVyc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVByb2plY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVSZXdhcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVTaGFyZWRNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVNwYWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlVHJhaW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVUcmlhbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlVXNlclByb2ZpbGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVXb3JrZm9yY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVXb3JrdGVhbSxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QUlCZW5jaG1hcmtKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFJV29ya2xvYWRDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFjdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QWxnb3JpdGhtcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBbGlhc2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFwcEltYWdlQ29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBcHBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFydGlmYWN0cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBc3NvY2lhdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QXV0b01MSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENsdXN0ZXJFdmVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q2x1c3Rlck5vZGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENsdXN0ZXJzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENvZGVSZXBvc2l0b3JpZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q29tcGlsYXRpb25Kb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENvbXB1dGVRdW90YXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q29udGV4dHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3REZXZpY2VGbGVldHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RGV2aWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3REb21haW5zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEVkZ2VEZXBsb3ltZW50UGxhbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RWRnZVBhY2thZ2luZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RW5kcG9pbnRDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEVuZHBvaW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RFeHBlcmltZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RGZWF0dXJlR3JvdXBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEZsb3dEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIdWJDb250ZW50VmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHViQ29udGVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHVicyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIdW1hbkxvb3BzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh1bWFuVGFza1Vpcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW1hZ2VWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbWFnZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW5mZXJlbmNlQ29tcG9uZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbmZlcmVuY2VFeHBlcmltZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEpvYlNjaGVtYVZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TGFiZWxpbmdKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdExpbmVhZ2VHcm91cHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TWxmbG93QXBwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxDYXJkRXhwb3J0Sm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbENhcmRWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbENhcmRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbE1ldGFkYXRhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsUGFja2FnZUdyb3Vwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbFBhY2thZ2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVscyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vbml0b3JpbmdBbGVydHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9uaXRvcmluZ1NjaGVkdWxlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3ROb3RlYm9va0luc3RhbmNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RPcHRpbWl6YXRpb25Kb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBhcnRuZXJBcHBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGlwZWxpbmVFeGVjdXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQaXBlbGluZVZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQcm9jZXNzaW5nSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQcm9qZWN0cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RSZWNvcmRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFJlc291cmNlQ2F0YWxvZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U2hhcmVkTW9kZWxFdmVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U2hhcmVkTW9kZWxWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTaGFyZWRNb2RlbHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U3BhY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFN0YWdlRGV2aWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFN1YnNjcmliZWRXb3JrdGVhbXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VGFncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmFpbmluZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJhaW5pbmdQbGFucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmFuc2Zvcm1Kb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyaWFsQ29tcG9uZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmlhbHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFVzZXJQcm9maWxlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RXb3JrZm9yY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFdvcmt0ZWFtcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlF1ZXJ5TGluZWFnZSxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5BZGRUYWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlVGFncyxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWN0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEFjdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFjdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFjdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWN0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFjdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFpLWJlbmNobWFyay1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpQmVuY2htYXJrSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEFJQmVuY2htYXJrSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWlCZW5jaG1hcmtKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWktYmVuY2htYXJrLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlCZW5jaG1hcmtKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFJQmVuY2htYXJrSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFpQmVuY2htYXJrSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWktcmVjb21tZW5kYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaVJlY29tbWVuZGF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEFJUmVjb21tZW5kYXRpb25Kb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhaVJlY29tbWVuZGF0aW9uSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFpLXJlY29tbWVuZGF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlSZWNvbW1lbmRhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQUlSZWNvbW1lbmRhdGlvbkpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhaVJlY29tbWVuZGF0aW9uSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWktd29ya2xvYWQtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaVdvcmtsb2FkQ29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIEFJV29ya2xvYWRDb25maWdOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhaVdvcmtsb2FkQ29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFpLXdvcmtsb2FkLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlXb3JrbG9hZENvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQUlXb3JrbG9hZENvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhaVdvcmtsb2FkQ29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWxnb3JpdGhtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBbGdvcml0aG1Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWxnb3JpdGhtTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWxnb3JpdGhtTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFsZ29yaXRobSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWxnb3JpdGhtQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBbGdvcml0aG1OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWxnb3JpdGhtTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcHBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlclByb2ZpbGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB1c2VyUHJvZmlsZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBBcHBUeXBlIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHBUeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXBwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlclByb2ZpbGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXNlclByb2ZpbGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwVHlwZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFwcFR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBBcHBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwLWltYWdlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXBwSW1hZ2VDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXBwSW1hZ2VDb25maWdOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHBJbWFnZUNvbmZpZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhcHAtaW1hZ2UtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcHBJbWFnZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwSW1hZ2VDb25maWdOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwSW1hZ2VDb25maWdOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhcnRpZmFjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXJ0aWZhY3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSGFzaE9mQXJ0aWZhY3RTb3VyY2UgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGhhc2hPZkFydGlmYWN0U291cmNlOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXJ0aWZhY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFydGlmYWN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIYXNoT2ZBcnRpZmFjdFNvdXJjZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGhhc2hPZkFydGlmYWN0U291cmNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhdXRvbWwtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBdXRvbWxKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXV0b01MSm9iSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXV0b01sSm9iSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGF1dG9tbC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckF1dG9tbEpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXV0b01MSm9iSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGF1dG9NbEpvYkpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNsdXN0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNsdXN0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3RlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb2RlLXJlcG9zaXRvcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvZGVSZXBvc2l0b3J5QXJuUHJvcHMge1xuXHQvKiogVGhlIENvZGVSZXBvc2l0b3J5TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29kZVJlcG9zaXRvcnlOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29kZS1yZXBvc2l0b3J5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb2RlUmVwb3NpdG9yeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29kZVJlcG9zaXRvcnlOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29kZVJlcG9zaXRvcnlOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb21waWxhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbXBpbGF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbXBpbGF0aW9uSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29tcGlsYXRpb25Kb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29tcGlsYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb21waWxhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29tcGlsYXRpb25Kb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29tcGlsYXRpb25Kb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb21wdXRlLXF1b3RhIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb21wdXRlUXVvdGFBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29tcHV0ZVF1b3RhSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbXB1dGVRdW90YUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29tcHV0ZS1xdW90YSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29tcHV0ZVF1b3RhQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb21wdXRlUXVvdGFJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbXB1dGVRdW90YUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb250ZXh0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb250ZXh0QXJuUHJvcHMge1xuXHQvKiogVGhlIENvbnRleHROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb250ZXh0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbnRleHQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbnRleHRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbnRleHROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29udGV4dE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRldmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGV2aWNlQXJuUHJvcHMge1xuXHQvKiogVGhlIERldmljZUZsZWV0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGV2aWNlRmxlZXROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV2aWNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGV2aWNlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRldmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGV2aWNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEZXZpY2VGbGVldE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXZpY2VGbGVldE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEZXZpY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGV2aWNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGV2aWNlLWZsZWV0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEZXZpY2VGbGVldEFyblByb3BzIHtcblx0LyoqIFRoZSBEZXZpY2VGbGVldE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRldmljZUZsZWV0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRldmljZS1mbGVldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGV2aWNlRmxlZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERldmljZUZsZWV0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRldmljZUZsZWV0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9tYWluIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEb21haW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZG9tYWluIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEb21haW5Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVkZ2UtZGVwbG95bWVudC1wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFZGdlRGVwbG95bWVudFBsYW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRWRnZURlcGxveW1lbnRQbGFuTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZWRnZURlcGxveW1lbnRQbGFuTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVkZ2UtZGVwbG95bWVudC1wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFZGdlRGVwbG95bWVudFBsYW5Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVkZ2VEZXBsb3ltZW50UGxhbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBlZGdlRGVwbG95bWVudFBsYW5OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlZGdlLXBhY2thZ2luZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVkZ2VQYWNrYWdpbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRWRnZVBhY2thZ2luZ0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVkZ2VQYWNrYWdpbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZWRnZS1wYWNrYWdpbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFZGdlUGFja2FnaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFZGdlUGFja2FnaW5nSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVkZ2VQYWNrYWdpbmdKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRW5kcG9pbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRW5kcG9pbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBlbmRwb2ludE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVuZHBvaW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVuZHBvaW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZW5kcG9pbnQtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFbmRwb2ludENvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBFbmRwb2ludENvbmZpZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVuZHBvaW50Q29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVuZHBvaW50LWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRW5kcG9pbnRDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVuZHBvaW50Q29uZmlnTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVuZHBvaW50Q29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXhwZXJpbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBFeHBlcmltZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZXhwZXJpbWVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBleHBlcmltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFeHBlcmltZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV4cGVyaW1lbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBleHBlcmltZW50LXRyaWFsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJpYWxOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmlhbE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBleHBlcmltZW50LXRyaWFsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRyaWFsTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyaWFsTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFyblByb3BzIHtcblx0LyoqIFRoZSBUcmlhbENvbXBvbmVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyaWFsQ29tcG9uZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRyaWFsQ29tcG9uZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyaWFsQ29tcG9uZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZmVhdHVyZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRmVhdHVyZUdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIEZlYXR1cmVHcm91cE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZlYXR1cmVHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBmZWF0dXJlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJGZWF0dXJlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZlYXR1cmVHcm91cE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmZWF0dXJlR3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmbG93LWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckZsb3dEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEZsb3dEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0RlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmxvdy1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJGbG93RGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0RlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0RlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBodWIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1YkFyblByb3BzIHtcblx0LyoqIFRoZSBIdWJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodWJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHViIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdWJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh1Yk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodWJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBodWItY29udGVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHViQ29udGVudEFyblByb3BzIHtcblx0LyoqIFRoZSBIdWJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodWJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViQ29udGVudFR5cGUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1YkNvbnRlbnRUeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViQ29udGVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1YkNvbnRlbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHViLWNvbnRlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1YkNvbnRlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh1Yk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodWJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViQ29udGVudFR5cGUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodWJDb250ZW50VHlwZTogc3RyaW5nO1xuXHQvKiogVGhlIEh1YkNvbnRlbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHViQ29udGVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh1bWFuLWxvb3AgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1bWFuTG9vcEFyblByb3BzIHtcblx0LyoqIFRoZSBIdW1hbkxvb3BOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodW1hbkxvb3BOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHVtYW4tbG9vcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHVtYW5Mb29wQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIdW1hbkxvb3BOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHVtYW5Mb29wTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaHVtYW4tdGFzay11aSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHVtYW5UYXNrVWlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSHVtYW5UYXNrVWlOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodW1hblRhc2tVaU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBodW1hbi10YXNrLXVpIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdW1hblRhc2tVaUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSHVtYW5UYXNrVWlOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHVtYW5UYXNrVWlOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBoeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW1hZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckltYWdlQXJuUHJvcHMge1xuXHQvKiogVGhlIEltYWdlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW1hZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckltYWdlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbWFnZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGltYWdlLXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckltYWdlVmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBJbWFnZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFZlcnNpb24gY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbWFnZS12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbWFnZVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEltYWdlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFZlcnNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbmZlcmVuY2UtY29tcG9uZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VDb21wb25lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW5mZXJlbmNlQ29tcG9uZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlQ29tcG9uZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGluZmVyZW5jZS1jb21wb25lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZUNvbXBvbmVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW5mZXJlbmNlQ29tcG9uZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZUNvbXBvbmVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGluZmVyZW5jZS1leHBlcmltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VFeHBlcmltZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEluZmVyZW5jZUV4cGVyaW1lbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VFeHBlcmltZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGluZmVyZW5jZS1leHBlcmltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VFeHBlcmltZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbmZlcmVuY2VFeHBlcmltZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZUV4cGVyaW1lbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iQ2F0ZWdvcnkgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYkNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JDYXRlZ29yeSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYkNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGxhYmVsaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTGFiZWxpbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTGFiZWxpbmdKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsYWJlbGluZ0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsYWJlbGluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckxhYmVsaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMYWJlbGluZ0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsYWJlbGluZ0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGxpbmVhZ2UtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckxpbmVhZ2VHcm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBMaW5lYWdlR3JvdXBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsaW5lYWdlR3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbGluZWFnZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTGluZWFnZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMaW5lYWdlR3JvdXBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGluZWFnZUdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbWxmbG93LWFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTWxmbG93QXBwQXJuUHJvcHMge1xuXHQvKiogVGhlIE1MZmxvd0FwcElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtTGZsb3dBcHBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1sZmxvdy1hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1sZmxvd0FwcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTUxmbG93QXBwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtTGZsb3dBcHBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbWxmbG93LXRyYWNraW5nLXNlcnZlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtbGZsb3dUcmFja2luZ1NlcnZlck5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtbGZsb3ctdHJhY2tpbmctc2VydmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNbGZsb3dUcmFja2luZ1NlcnZlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1jYXJkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbENhcmRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxDYXJkTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxDYXJkTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWNhcmQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQ2FyZEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxDYXJkTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsQ2FyZE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxDYXJkRXhwb3J0Sm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsQ2FyZE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsQ2FyZE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBFeHBvcnRKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBleHBvcnRKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtY2FyZC1leHBvcnQtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbENhcmRFeHBvcnRKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsQ2FyZE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbENhcmROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRXhwb3J0Sm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV4cG9ydEpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1wYWNrYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFBhY2thZ2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxQYWNrYWdlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxQYWNrYWdlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLXBhY2thZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUGFja2FnZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxQYWNrYWdlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsUGFja2FnZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLXBhY2thZ2UtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUGFja2FnZUdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsUGFja2FnZUdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxQYWNrYWdlR3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtcGFja2FnZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxQYWNrYWdlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsUGFja2FnZUdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsUGFja2FnZUdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb25pdG9yaW5nLXNjaGVkdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vbml0b3Jpbmctc2NoZWR1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUHJvcHMge1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbm90ZWJvb2staW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTm90ZWJvb2tJbnN0YW5jZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5vdGVib29rSW5zdGFuY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbm90ZWJvb2staW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGVib29rSW5zdGFuY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbm90ZWJvb2tJbnN0YW5jZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgb3B0aW1pemF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyT3B0aW1pemF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIE9wdGltaXphdGlvbkpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG9wdGltaXphdGlvbkpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBvcHRpbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJPcHRpbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE9wdGltaXphdGlvbkpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBvcHRpbWl6YXRpb25Kb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwYXJ0bmVyLWFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGFydG5lckFwcEFyblByb3BzIHtcblx0LyoqIFRoZSBBcHBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwYXJ0bmVyLWFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGFydG5lckFwcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcGlwZWxpbmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBpcGVsaW5lQXJuUHJvcHMge1xuXHQvKiogVGhlIFBpcGVsaW5lTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcGlwZWxpbmVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcGlwZWxpbmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBpcGVsaW5lQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQaXBlbGluZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwaXBlbGluZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBpcGVsaW5lLWV4ZWN1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGlwZWxpbmVFeGVjdXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUGlwZWxpbmVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwaXBlbGluZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSYW5kb21TdHJpbmcgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJhbmRvbVN0cmluZzogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBpcGVsaW5lLWV4ZWN1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGlwZWxpbmVFeGVjdXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFBpcGVsaW5lTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBpcGVsaW5lTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFJhbmRvbVN0cmluZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJhbmRvbVN0cmluZzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvY2Vzc2luZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclByb2Nlc3NpbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvY2Vzc2luZ0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2Nlc3NpbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvY2Vzc2luZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclByb2Nlc3NpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb2Nlc3NpbmdKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvY2Vzc2luZ0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclByb2plY3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvamVjdE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2plY3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUHJvamVjdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvamVjdE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVzZXJ2ZWQtY2FwYWNpdHkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclJlc2VydmVkQ2FwYWNpdHlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmFuZG9tU3RyaW5nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByYW5kb21TdHJpbmc6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZXNlcnZlZC1jYXBhY2l0eSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUmVzZXJ2ZWRDYXBhY2l0eUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmFuZG9tU3RyaW5nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmFuZG9tU3RyaW5nOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzYWdlbWFrZXItY2F0YWxvZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2FnZW1ha2VyQ2F0YWxvZ0FyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUNhdGFsb2dOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUNhdGFsb2dOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2FnZW1ha2VyLWNhdGFsb2cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNhZ2VtYWtlckNhdGFsb2dBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlQ2F0YWxvZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUNhdGFsb2dOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzaGFyZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNoYXJlZE1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIFNoYXJlZE1vZGVsSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNoYXJlZE1vZGVsSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzaGFyZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNoYXJlZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTaGFyZWRNb2RlbElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2hhcmVkTW9kZWxJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2hhcmVkLW1vZGVsLWV2ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTaGFyZWRNb2RlbEV2ZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEV2ZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGV2ZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzaGFyZWQtbW9kZWwtZXZlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNoYXJlZE1vZGVsRXZlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEV2ZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBldmVudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzcGFjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU3BhY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgU3BhY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzcGFjZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzcGFjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU3BhY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBTcGFjZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzcGFjZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cmFpbmluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYWluaW5nSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFRyYWluaW5nSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJhaW5pbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdHJhaW5pbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFpbmluZ0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJhaW5pbmdKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJhaW5pbmdKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cmFpbmluZy1wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFpbmluZ1BsYW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJhaW5pbmdQbGFuTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJhaW5pbmdQbGFuTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRyYWluaW5nLXBsYW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYWluaW5nUGxhbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJhaW5pbmdQbGFuTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyYWluaW5nUGxhbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRyYW5zZm9ybS1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYW5zZm9ybUpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBUcmFuc2Zvcm1Kb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmFuc2Zvcm1Kb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdHJhbnNmb3JtLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhbnNmb3JtSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmFuc2Zvcm1Kb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJhbnNmb3JtSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdXNlci1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJVc2VyUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VyUHJvZmlsZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHVzZXJQcm9maWxlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHVzZXItcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVXNlclByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VyUHJvZmlsZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB1c2VyUHJvZmlsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHdvcmtmb3JjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyV29ya2ZvcmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFdvcmtmb3JjZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHdvcmtmb3JjZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3JrZm9yY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlcldvcmtmb3JjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgV29ya2ZvcmNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHdvcmtmb3JjZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHdvcmt0ZWFtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJXb3JrdGVhbUFyblByb3BzIHtcblx0LyoqIFRoZSBXb3JrdGVhbU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHdvcmt0ZWFtTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmt0ZWFtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJXb3JrdGVhbUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgV29ya3RlYW1OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgd29ya3RlYW1OYW1lOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFjdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphY3Rpb25cXC8oPzxhY3Rpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBBaUJlbmNobWFya0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphaS1iZW5jaG1hcmstam9iXFwvKD88YWlCZW5jaG1hcmtKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBBaVJlY29tbWVuZGF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFpLXJlY29tbWVuZGF0aW9uLWpvYlxcLyg/PGFpUmVjb21tZW5kYXRpb25Kb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBBaVdvcmtsb2FkQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFpLXdvcmtsb2FkLWNvbmZpZ1xcLyg/PGFpV29ya2xvYWRDb25maWdOYW1lPlteOi8/XSspJC87XG5jb25zdCBBbGdvcml0aG1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWxnb3JpdGhtXFwvKD88YWxnb3JpdGhtTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQXBwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcFxcLyg/PGRvbWFpbklkPlteOi8/XSspXFwvKD88dXNlclByb2ZpbGVOYW1lPlteOi8/XSspXFwvKD88YXBwVHlwZT5bXjovP10rKVxcLyg/PGFwcE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEFwcEltYWdlQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcC1pbWFnZS1jb25maWdcXC8oPzxhcHBJbWFnZUNvbmZpZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IEFydGlmYWN0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFydGlmYWN0XFwvKD88aGFzaE9mQXJ0aWZhY3RTb3VyY2U+W146Lz9dKykkLztcbmNvbnN0IEF1dG9tbEpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphdXRvbWwtam9iXFwvKD88YXV0b01sSm9iSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ2x1c3RlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjbHVzdGVyXFwvKD88Y2x1c3RlcklkPlteOi8/XSspJC87XG5jb25zdCBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZ1xcLyg/PGNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZD5bXjovP10rKSQvO1xuY29uc3QgQ29kZVJlcG9zaXRvcnlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29kZS1yZXBvc2l0b3J5XFwvKD88Y29kZVJlcG9zaXRvcnlOYW1lPlteOi8/XSspJC87XG5jb25zdCBDb21waWxhdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb21waWxhdGlvbi1qb2JcXC8oPzxjb21waWxhdGlvbkpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IENvbXB1dGVRdW90YUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb21wdXRlLXF1b3RhXFwvKD88Y29tcHV0ZVF1b3RhSWQ+W146Lz9dKykkLztcbmNvbnN0IENvbnRleHRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29udGV4dFxcLyg/PGNvbnRleHROYW1lPlteOi8/XSspJC87XG5jb25zdCBEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uXFwvKD88ZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRGV2aWNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRldmljZS1mbGVldFxcLyg/PGRldmljZUZsZWV0TmFtZT5bXjovP10rKVxcL2RldmljZVxcLyg/PGRldmljZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IERldmljZUZsZWV0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRldmljZS1mbGVldFxcLyg/PGRldmljZUZsZWV0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRG9tYWluQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpblxcLyg/PGRvbWFpbklkPlteOi8/XSspJC87XG5jb25zdCBFZGdlRGVwbG95bWVudFBsYW5Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZWRnZS1kZXBsb3ltZW50XFwvKD88ZWRnZURlcGxveW1lbnRQbGFuTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRWRnZVBhY2thZ2luZ0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTplZGdlLXBhY2thZ2luZy1qb2JcXC8oPzxlZGdlUGFja2FnaW5nSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRW5kcG9pbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZW5kcG9pbnRcXC8oPzxlbmRwb2ludE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEVuZHBvaW50Q29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVuZHBvaW50LWNvbmZpZ1xcLyg/PGVuZHBvaW50Q29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRXhwZXJpbWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpleHBlcmltZW50XFwvKD88ZXhwZXJpbWVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEV4cGVyaW1lbnRUcmlhbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpleHBlcmltZW50LXRyaWFsXFwvKD88dHJpYWxOYW1lPlteOi8/XSspJC87XG5jb25zdCBFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnRcXC8oPzx0cmlhbENvbXBvbmVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEZlYXR1cmVHcm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpmZWF0dXJlLWdyb3VwXFwvKD88ZmVhdHVyZUdyb3VwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRmxvd0RlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmxvdy1kZWZpbml0aW9uXFwvKD88Zmxvd0RlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBIdWJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHViXFwvKD88aHViTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSHViQ29udGVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpodWItY29udGVudFxcLyg/PGh1Yk5hbWU+W146Lz9dKylcXC8oPzxodWJDb250ZW50VHlwZT5bXjovP10rKVxcLyg/PGh1YkNvbnRlbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBIdW1hbkxvb3BBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHVtYW4tbG9vcFxcLyg/PGh1bWFuTG9vcE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEh1bWFuVGFza1VpQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh1bWFuLXRhc2stdWlcXC8oPzxodW1hblRhc2tVaU5hbWU+W146Lz9dKykkLztcbmNvbnN0IEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iXFwvKD88aHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBJbWFnZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbWFnZVxcLyg/PGltYWdlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW1hZ2VWZXJzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmltYWdlLXZlcnNpb25cXC8oPzxpbWFnZU5hbWU+W146Lz9dKylcXC8oPzx2ZXJzaW9uPlteOi8/XSspJC87XG5jb25zdCBJbmZlcmVuY2VDb21wb25lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5mZXJlbmNlLWNvbXBvbmVudFxcLyg/PGluZmVyZW5jZUNvbXBvbmVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEluZmVyZW5jZUV4cGVyaW1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5mZXJlbmNlLWV4cGVyaW1lbnRcXC8oPzxpbmZlcmVuY2VFeHBlcmltZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iXFwvKD88aW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmpvYlxcLyg/PGpvYkNhdGVnb3J5PlteOi8/XSspXFwvKD88am9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTGFiZWxpbmdKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bGFiZWxpbmctam9iXFwvKD88bGFiZWxpbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBMaW5lYWdlR3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bGluZWFnZS1ncm91cFxcLyg/PGxpbmVhZ2VHcm91cE5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1sZmxvd0FwcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptbGZsb3ctYXBwXFwvKD88bUxmbG93QXBwSWQ+W146Lz9dKykkLztcbmNvbnN0IE1sZmxvd1RyYWNraW5nU2VydmVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1sZmxvdy10cmFja2luZy1zZXJ2ZXJcXC8oPzxtbGZsb3dUcmFja2luZ1NlcnZlck5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsXFwvKD88bW9kZWxOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWJpYXMtam9iLWRlZmluaXRpb25cXC8oPzxtb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxDYXJkQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWNhcmRcXC8oPzxtb2RlbENhcmROYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbENhcmRFeHBvcnRKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtY2FyZFxcLyg/PG1vZGVsQ2FyZE5hbWU+W146Lz9dKylcXC9leHBvcnQtam9iXFwvKD88ZXhwb3J0Sm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb25cXC8oPzxtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsUGFja2FnZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1wYWNrYWdlXFwvKD88bW9kZWxQYWNrYWdlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxQYWNrYWdlR3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtcGFja2FnZS1ncm91cFxcLyg/PG1vZGVsUGFja2FnZUdyb3VwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uXFwvKD88bW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vbml0b3JpbmdTY2hlZHVsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb25pdG9yaW5nLXNjaGVkdWxlXFwvKD88bW9uaXRvcmluZ1NjaGVkdWxlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9uaXRvcmluZy1zY2hlZHVsZVxcLyg/PG1vbml0b3JpbmdTY2hlZHVsZU5hbWU+W146Lz9dKylcXC9hbGVydFxcLyg/PG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgTm90ZWJvb2tJbnN0YW5jZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpub3RlYm9vay1pbnN0YW5jZVxcLyg/PG5vdGVib29rSW5zdGFuY2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWdcXC8oPzxub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgT3B0aW1pemF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm9wdGltaXphdGlvbi1qb2JcXC8oPzxvcHRpbWl6YXRpb25Kb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBQYXJ0bmVyQXBwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBhcnRuZXItYXBwXFwvKD88YXBwSWQ+W146Lz9dKykkLztcbmNvbnN0IFBpcGVsaW5lQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBpcGVsaW5lXFwvKD88cGlwZWxpbmVOYW1lPlteOi8/XSspJC87XG5jb25zdCBQaXBlbGluZUV4ZWN1dGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwaXBlbGluZVxcLyg/PHBpcGVsaW5lTmFtZT5bXjovP10rKVxcL2V4ZWN1dGlvblxcLyg/PHJhbmRvbVN0cmluZz5bXjovP10rKSQvO1xuY29uc3QgUHJvY2Vzc2luZ0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm9jZXNzaW5nLWpvYlxcLyg/PHByb2Nlc3NpbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBQcm9qZWN0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb2plY3RcXC8oPzxwcm9qZWN0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgUmVzZXJ2ZWRDYXBhY2l0eUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXNlcnZlZC1jYXBhY2l0eVxcLyg/PHJhbmRvbVN0cmluZz5bXjovP10rKSQvO1xuY29uc3QgU2FnZW1ha2VyQ2F0YWxvZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzYWdlbWFrZXItY2F0YWxvZ1xcLyg/PHJlc291cmNlQ2F0YWxvZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IFNoYXJlZE1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNoYXJlZC1tb2RlbFxcLyg/PHNoYXJlZE1vZGVsSWQ+W146Lz9dKykkLztcbmNvbnN0IFNoYXJlZE1vZGVsRXZlbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2hhcmVkLW1vZGVsLWV2ZW50XFwvKD88ZXZlbnRJZD5bXjovP10rKSQvO1xuY29uc3QgU3BhY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c3BhY2VcXC8oPzxkb21haW5JZD5bXjovP10rKVxcLyg/PHNwYWNlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnN0dWRpby1saWZlY3ljbGUtY29uZmlnXFwvKD88c3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgVHJhaW5pbmdKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dHJhaW5pbmctam9iXFwvKD88dHJhaW5pbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBUcmFpbmluZ1BsYW5Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dHJhaW5pbmctcGxhblxcLyg/PHRyYWluaW5nUGxhbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFRyYW5zZm9ybUpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0cmFuc2Zvcm0tam9iXFwvKD88dHJhbnNmb3JtSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgVXNlclByb2ZpbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dXNlci1wcm9maWxlXFwvKD88ZG9tYWluSWQ+W146Lz9dKylcXC8oPzx1c2VyUHJvZmlsZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFdvcmtmb3JjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3JrZm9yY2VcXC8oPzx3b3JrZm9yY2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBXb3JrdGVhbUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3JrdGVhbVxcLyg/PHdvcmt0ZWFtTmFtZT5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHNhZ2VtYWtlciByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYWdlTWFrZXJSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhY3Rpb24ocHJvcHM6IFNhZ2VNYWtlckFjdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWN0aW9uLyR7cHJvcHMuYWN0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBY3Rpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWN0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFjdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBY3Rpb25Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBY3Rpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFjdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhY3Rpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWN0aW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5hY3Rpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFpLWJlbmNobWFyay1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWlCZW5jaG1hcmtKb2IocHJvcHM6IFNhZ2VNYWtlckFpQmVuY2htYXJrSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphaS1iZW5jaG1hcmstam9iLyR7cHJvcHMuYWlCZW5jaG1hcmtKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhaS1iZW5jaG1hcmstam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBaUJlbmNobWFya0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBaUJlbmNobWFya0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhaS1iZW5jaG1hcmstam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFpQmVuY2htYXJrSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJBaUJlbmNobWFya0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWlCZW5jaG1hcmtKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWktYmVuY2htYXJrLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhaUJlbmNobWFya0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEuYWlCZW5jaG1hcmtKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFpLXJlY29tbWVuZGF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhaVJlY29tbWVuZGF0aW9uSm9iKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJBaVJlY29tbWVuZGF0aW9uSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFpLXJlY29tbWVuZGF0aW9uLWpvYi8ke3Byb3BzLmFpUmVjb21tZW5kYXRpb25Kb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFpUmVjb21tZW5kYXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWlSZWNvbW1lbmRhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWlSZWNvbW1lbmRhdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQWlSZWNvbW1lbmRhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWlSZWNvbW1lbmRhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWlSZWNvbW1lbmRhdGlvbkpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuYWlSZWNvbW1lbmRhdGlvbkpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWktd29ya2xvYWQtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFpV29ya2xvYWRDb25maWcocHJvcHM6IFNhZ2VNYWtlckFpV29ya2xvYWRDb25maWdBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFpLXdvcmtsb2FkLWNvbmZpZy8ke3Byb3BzLmFpV29ya2xvYWRDb25maWdOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhaS13b3JrbG9hZC1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFpV29ya2xvYWRDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWlXb3JrbG9hZENvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhaS13b3JrbG9hZC1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWlXb3JrbG9hZENvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQWlXb3JrbG9hZENvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWlXb3JrbG9hZENvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhaS13b3JrbG9hZC1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWlXb3JrbG9hZENvbmZpZ05hbWU6IG1hdGNoLmdyb3VwcyEuYWlXb3JrbG9hZENvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWxnb3JpdGhtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFsZ29yaXRobShwcm9wczogU2FnZU1ha2VyQWxnb3JpdGhtQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphbGdvcml0aG0vJHtwcm9wcy5hbGdvcml0aG1OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhbGdvcml0aG0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFsZ29yaXRobUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBbGdvcml0aG1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWxnb3JpdGhtIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFsZ29yaXRobUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckFsZ29yaXRobUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWxnb3JpdGhtQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFsZ29yaXRobSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhbGdvcml0aG1OYW1lOiBtYXRjaC5ncm91cHMhLmFsZ29yaXRobU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFwcChwcm9wczogU2FnZU1ha2VyQXBwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHAvJHtwcm9wcy5kb21haW5JZH0vJHtwcm9wcy51c2VyUHJvZmlsZU5hbWV9LyR7cHJvcHMuYXBwVHlwZX0vJHtwcm9wcy5hcHBOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFwcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcHBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXBwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckFwcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXBwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFwcCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5JZDogbWF0Y2guZ3JvdXBzIS5kb21haW5JZCxcblx0XHRcdHVzZXJQcm9maWxlTmFtZTogbWF0Y2guZ3JvdXBzIS51c2VyUHJvZmlsZU5hbWUsXG5cdFx0XHRhcHBUeXBlOiBtYXRjaC5ncm91cHMhLmFwcFR5cGUsXG5cdFx0XHRhcHBOYW1lOiBtYXRjaC5ncm91cHMhLmFwcE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwLWltYWdlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcHBJbWFnZUNvbmZpZyhwcm9wczogU2FnZU1ha2VyQXBwSW1hZ2VDb25maWdBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFwcC1pbWFnZS1jb25maWcvJHtwcm9wcy5hcHBJbWFnZUNvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFwcC1pbWFnZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFwcEltYWdlQ29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFwcEltYWdlQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwcC1pbWFnZS1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXBwSW1hZ2VDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckFwcEltYWdlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHBJbWFnZUNvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcHAtaW1hZ2UtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFwcEltYWdlQ29uZmlnTmFtZTogbWF0Y2guZ3JvdXBzIS5hcHBJbWFnZUNvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXJ0aWZhY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXJ0aWZhY3QocHJvcHM6IFNhZ2VNYWtlckFydGlmYWN0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcnRpZmFjdC8ke3Byb3BzLmhhc2hPZkFydGlmYWN0U291cmNlfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcnRpZmFjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXJ0aWZhY3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXJ0aWZhY3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXJ0aWZhY3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXJ0aWZhY3RBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBcnRpZmFjdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXJ0aWZhY3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXJ0aWZhY3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aGFzaE9mQXJ0aWZhY3RTb3VyY2U6IG1hdGNoLmdyb3VwcyEuaGFzaE9mQXJ0aWZhY3RTb3VyY2UsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXV0b21sLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWxKb2IocHJvcHM6IFNhZ2VNYWtlckF1dG9tbEpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXV0b21sLWpvYi8ke3Byb3BzLmF1dG9NbEpvYkpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGF1dG9tbC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEF1dG9tbEpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBdXRvbWxKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXV0b21sLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBdXRvbWxKb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBdXRvbWxKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEF1dG9tbEpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhdXRvbWwtam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9NbEpvYkpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuYXV0b01sSm9iSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsdXN0ZXIocHJvcHM6IFNhZ2VNYWtlckNsdXN0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNsdXN0ZXIvJHtwcm9wcy5jbHVzdGVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2x1c3RlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjbHVzdGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJDbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDbHVzdGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsdXN0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3RlcklkOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3RlclNjaGVkdWxlckNvbmZpZyhcblx0XHRwcm9wczogU2FnZU1ha2VyQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjbHVzdGVyLXNjaGVkdWxlci1jb25maWcvJHtwcm9wcy5jbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQ6IG1hdGNoLmdyb3VwcyEuY2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvZGUtcmVwb3NpdG9yeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb2RlUmVwb3NpdG9yeShwcm9wczogU2FnZU1ha2VyQ29kZVJlcG9zaXRvcnlBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvZGUtcmVwb3NpdG9yeS8ke3Byb3BzLmNvZGVSZXBvc2l0b3J5TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29kZS1yZXBvc2l0b3J5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb2RlUmVwb3NpdG9yeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb2RlUmVwb3NpdG9yeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb2RlLXJlcG9zaXRvcnkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29kZVJlcG9zaXRvcnlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckNvZGVSZXBvc2l0b3J5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb2RlUmVwb3NpdG9yeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2RlLXJlcG9zaXRvcnkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29kZVJlcG9zaXRvcnlOYW1lOiBtYXRjaC5ncm91cHMhLmNvZGVSZXBvc2l0b3J5TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb21waWxhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29tcGlsYXRpb25Kb2IocHJvcHM6IFNhZ2VNYWtlckNvbXBpbGF0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb21waWxhdGlvbi1qb2IvJHtwcm9wcy5jb21waWxhdGlvbkpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbXBpbGF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29tcGlsYXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29tcGlsYXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29tcGlsYXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbXBpbGF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJDb21waWxhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29tcGlsYXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29tcGlsYXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbXBpbGF0aW9uSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5jb21waWxhdGlvbkpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29tcHV0ZS1xdW90YSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb21wdXRlUXVvdGEocHJvcHM6IFNhZ2VNYWtlckNvbXB1dGVRdW90YUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29tcHV0ZS1xdW90YS8ke3Byb3BzLmNvbXB1dGVRdW90YUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb21wdXRlLXF1b3RhIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb21wdXRlUXVvdGFBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29tcHV0ZVF1b3RhQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbXB1dGUtcXVvdGEgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29tcHV0ZVF1b3RhQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQ29tcHV0ZVF1b3RhQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb21wdXRlUXVvdGFBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29tcHV0ZS1xdW90YSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb21wdXRlUXVvdGFJZDogbWF0Y2guZ3JvdXBzIS5jb21wdXRlUXVvdGFJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb250ZXh0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbnRleHQocHJvcHM6IFNhZ2VNYWtlckNvbnRleHRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbnRleHQvJHtwcm9wcy5jb250ZXh0TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29udGV4dCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29udGV4dEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb250ZXh0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbnRleHQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29udGV4dEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckNvbnRleHRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbnRleHRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29udGV4dCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb250ZXh0TmFtZTogbWF0Y2guZ3JvdXBzIS5jb250ZXh0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uLyR7cHJvcHMuZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLmRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGV2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRldmljZShwcm9wczogU2FnZU1ha2VyRGV2aWNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkZXZpY2UtZmxlZXQvJHtwcm9wcy5kZXZpY2VGbGVldE5hbWV9L2RldmljZS8ke3Byb3BzLmRldmljZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRldmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGV2aWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERldmljZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkZXZpY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGV2aWNlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRGV2aWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEZXZpY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGV2aWNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRldmljZUZsZWV0TmFtZTogbWF0Y2guZ3JvdXBzIS5kZXZpY2VGbGVldE5hbWUsXG5cdFx0XHRkZXZpY2VOYW1lOiBtYXRjaC5ncm91cHMhLmRldmljZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGV2aWNlLWZsZWV0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRldmljZUZsZWV0KHByb3BzOiBTYWdlTWFrZXJEZXZpY2VGbGVldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGV2aWNlLWZsZWV0LyR7cHJvcHMuZGV2aWNlRmxlZXROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkZXZpY2UtZmxlZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERldmljZUZsZWV0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERldmljZUZsZWV0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRldmljZS1mbGVldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEZXZpY2VGbGVldEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckRldmljZUZsZWV0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEZXZpY2VGbGVldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZXZpY2UtZmxlZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGV2aWNlRmxlZXROYW1lOiBtYXRjaC5ncm91cHMhLmRldmljZUZsZWV0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkb21haW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWluKHByb3BzOiBTYWdlTWFrZXJEb21haW5Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbi8ke3Byb3BzLmRvbWFpbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkb21haW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvbWFpbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEb21haW5Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZG9tYWluIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURvbWFpbkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckRvbWFpbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9tYWluQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRvbWFpbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5JZDogbWF0Y2guZ3JvdXBzIS5kb21haW5JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlZGdlLWRlcGxveW1lbnQtcGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlZGdlRGVwbG95bWVudFBsYW4oXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckVkZ2VEZXBsb3ltZW50UGxhbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplZGdlLWRlcGxveW1lbnQvJHtwcm9wcy5lZGdlRGVwbG95bWVudFBsYW5OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlZGdlLWRlcGxveW1lbnQtcGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRWRnZURlcGxveW1lbnRQbGFuQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVkZ2VEZXBsb3ltZW50UGxhbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlZGdlLWRlcGxveW1lbnQtcGxhbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFZGdlRGVwbG95bWVudFBsYW5Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckVkZ2VEZXBsb3ltZW50UGxhbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRWRnZURlcGxveW1lbnRQbGFuQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVkZ2UtZGVwbG95bWVudC1wbGFuIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGVkZ2VEZXBsb3ltZW50UGxhbk5hbWU6IG1hdGNoLmdyb3VwcyEuZWRnZURlcGxveW1lbnRQbGFuTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlZGdlLXBhY2thZ2luZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZWRnZVBhY2thZ2luZ0pvYihwcm9wczogU2FnZU1ha2VyRWRnZVBhY2thZ2luZ0pvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZWRnZS1wYWNrYWdpbmctam9iLyR7cHJvcHMuZWRnZVBhY2thZ2luZ0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVkZ2UtcGFja2FnaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRWRnZVBhY2thZ2luZ0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFZGdlUGFja2FnaW5nSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVkZ2UtcGFja2FnaW5nLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFZGdlUGFja2FnaW5nSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJFZGdlUGFja2FnaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFZGdlUGFja2FnaW5nSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVkZ2UtcGFja2FnaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRlZGdlUGFja2FnaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5lZGdlUGFja2FnaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlbmRwb2ludChwcm9wczogU2FnZU1ha2VyRW5kcG9pbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmVuZHBvaW50LyR7cHJvcHMuZW5kcG9pbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW5kcG9pbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZW5kcG9pbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRW5kcG9pbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZW5kcG9pbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZW5kcG9pbnROYW1lOiBtYXRjaC5ncm91cHMhLmVuZHBvaW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlbmRwb2ludC1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZW5kcG9pbnRDb25maWcocHJvcHM6IFNhZ2VNYWtlckVuZHBvaW50Q29uZmlnQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplbmRwb2ludC1jb25maWcvJHtwcm9wcy5lbmRwb2ludENvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVuZHBvaW50LWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5kcG9pbnRDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW5kcG9pbnRDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZW5kcG9pbnQtY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVuZHBvaW50Q29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJFbmRwb2ludENvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRW5kcG9pbnRDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZW5kcG9pbnQtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGVuZHBvaW50Q29uZmlnTmFtZTogbWF0Y2guZ3JvdXBzIS5lbmRwb2ludENvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXhwZXJpbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBleHBlcmltZW50KHByb3BzOiBTYWdlTWFrZXJFeHBlcmltZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpleHBlcmltZW50LyR7cHJvcHMuZXhwZXJpbWVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV4cGVyaW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXhwZXJpbWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBleHBlcmltZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV4cGVyaW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJFeHBlcmltZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFeHBlcmltZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV4cGVyaW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZXhwZXJpbWVudE5hbWU6IG1hdGNoLmdyb3VwcyEuZXhwZXJpbWVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXhwZXJpbWVudC10cmlhbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBleHBlcmltZW50VHJpYWwocHJvcHM6IFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXhwZXJpbWVudC10cmlhbC8ke3Byb3BzLnRyaWFsTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXhwZXJpbWVudC10cmlhbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXhwZXJpbWVudFRyaWFsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV4cGVyaW1lbnRUcmlhbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBleHBlcmltZW50LXRyaWFsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV4cGVyaW1lbnRUcmlhbEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFeHBlcmltZW50VHJpYWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZXhwZXJpbWVudC10cmlhbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0cmlhbE5hbWU6IG1hdGNoLmdyb3VwcyEudHJpYWxOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV4cGVyaW1lbnRUcmlhbENvbXBvbmVudChcblx0XHRwcm9wczogU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50LyR7cHJvcHMudHJpYWxDb21wb25lbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyaWFsQ29tcG9uZW50TmFtZTogbWF0Y2guZ3JvdXBzIS50cmlhbENvbXBvbmVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmVhdHVyZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXAocHJvcHM6IFNhZ2VNYWtlckZlYXR1cmVHcm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZmVhdHVyZS1ncm91cC8ke3Byb3BzLmZlYXR1cmVHcm91cE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZlYXR1cmUtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZlYXR1cmVHcm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGZWF0dXJlR3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmVhdHVyZS1ncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGZWF0dXJlR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJGZWF0dXJlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZlYXR1cmVHcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmZWF0dXJlLWdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZlYXR1cmVHcm91cE5hbWU6IG1hdGNoLmdyb3VwcyEuZmVhdHVyZUdyb3VwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmbG93LWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZmxvd0RlZmluaXRpb24ocHJvcHM6IFNhZ2VNYWtlckZsb3dEZWZpbml0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpmbG93LWRlZmluaXRpb24vJHtwcm9wcy5mbG93RGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZsb3ctZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmxvd0RlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmxvd0RlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmxvdy1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZsb3dEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJGbG93RGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRmxvd0RlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmxvdy1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZsb3dEZWZpbml0aW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5mbG93RGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHViIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh1Yihwcm9wczogU2FnZU1ha2VySHViQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpodWIvJHtwcm9wcy5odWJOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBodWIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh1YkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIdWJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHViIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh1YkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckh1YkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHViQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh1YiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRodWJOYW1lOiBtYXRjaC5ncm91cHMhLmh1Yk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHViLWNvbnRlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHViQ29udGVudChwcm9wczogU2FnZU1ha2VySHViQ29udGVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHViLWNvbnRlbnQvJHtwcm9wcy5odWJOYW1lfS8ke3Byb3BzLmh1YkNvbnRlbnRUeXBlfS8ke3Byb3BzLmh1YkNvbnRlbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBodWItY29udGVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHViQ29udGVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIdWJDb250ZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh1Yi1jb250ZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh1YkNvbnRlbnRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJIdWJDb250ZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIdWJDb250ZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh1Yi1jb250ZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh1Yk5hbWU6IG1hdGNoLmdyb3VwcyEuaHViTmFtZSxcblx0XHRcdGh1YkNvbnRlbnRUeXBlOiBtYXRjaC5ncm91cHMhLmh1YkNvbnRlbnRUeXBlLFxuXHRcdFx0aHViQ29udGVudE5hbWU6IG1hdGNoLmdyb3VwcyEuaHViQ29udGVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHVtYW4tbG9vcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBodW1hbkxvb3AocHJvcHM6IFNhZ2VNYWtlckh1bWFuTG9vcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHVtYW4tbG9vcC8ke3Byb3BzLmh1bWFuTG9vcE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGh1bWFuLWxvb3AgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh1bWFuTG9vcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIdW1hbkxvb3BBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHVtYW4tbG9vcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIdW1hbkxvb3BBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJIdW1hbkxvb3BBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEh1bWFuTG9vcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBodW1hbi1sb29wIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh1bWFuTG9vcE5hbWU6IG1hdGNoLmdyb3VwcyEuaHVtYW5Mb29wTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBodW1hbi10YXNrLXVpIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh1bWFuVGFza1VpKHByb3BzOiBTYWdlTWFrZXJIdW1hblRhc2tVaUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHVtYW4tdGFzay11aS8ke3Byb3BzLmh1bWFuVGFza1VpTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHVtYW4tdGFzay11aSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHVtYW5UYXNrVWlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHVtYW5UYXNrVWlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHVtYW4tdGFzay11aSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIdW1hblRhc2tVaUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckh1bWFuVGFza1VpQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIdW1hblRhc2tVaUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBodW1hbi10YXNrLXVpIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh1bWFuVGFza1VpTmFtZTogbWF0Y2guZ3JvdXBzIS5odW1hblRhc2tVaU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iLyR7cHJvcHMuaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRoeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEuaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGltYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGltYWdlKHByb3BzOiBTYWdlTWFrZXJJbWFnZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW1hZ2UvJHtwcm9wcy5pbWFnZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGltYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbWFnZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbWFnZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbWFnZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbWFnZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckltYWdlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbWFnZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbWFnZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbWFnZU5hbWU6IG1hdGNoLmdyb3VwcyEuaW1hZ2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGltYWdlLXZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW1hZ2VWZXJzaW9uKHByb3BzOiBTYWdlTWFrZXJJbWFnZVZlcnNpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmltYWdlLXZlcnNpb24vJHtwcm9wcy5pbWFnZU5hbWV9LyR7cHJvcHMudmVyc2lvbn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW1hZ2UtdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW1hZ2VWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEltYWdlVmVyc2lvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbWFnZS12ZXJzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUltYWdlVmVyc2lvbkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckltYWdlVmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW1hZ2VWZXJzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGltYWdlLXZlcnNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW1hZ2VOYW1lOiBtYXRjaC5ncm91cHMhLmltYWdlTmFtZSxcblx0XHRcdHZlcnNpb246IG1hdGNoLmdyb3VwcyEudmVyc2lvbixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtY29tcG9uZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGluZmVyZW5jZUNvbXBvbmVudChcblx0XHRwcm9wczogU2FnZU1ha2VySW5mZXJlbmNlQ29tcG9uZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmluZmVyZW5jZS1jb21wb25lbnQvJHtwcm9wcy5pbmZlcmVuY2VDb21wb25lbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtY29tcG9uZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbmZlcmVuY2VDb21wb25lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW5mZXJlbmNlQ29tcG9uZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGluZmVyZW5jZS1jb21wb25lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW5mZXJlbmNlQ29tcG9uZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJJbmZlcmVuY2VDb21wb25lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluZmVyZW5jZUNvbXBvbmVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbmZlcmVuY2UtY29tcG9uZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGluZmVyZW5jZUNvbXBvbmVudE5hbWU6IG1hdGNoLmdyb3VwcyEuaW5mZXJlbmNlQ29tcG9uZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtZXhwZXJpbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbmZlcmVuY2VFeHBlcmltZW50KFxuXHRcdHByb3BzOiBTYWdlTWFrZXJJbmZlcmVuY2VFeHBlcmltZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmluZmVyZW5jZS1leHBlcmltZW50LyR7cHJvcHMuaW5mZXJlbmNlRXhwZXJpbWVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1leHBlcmltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbmZlcmVuY2VFeHBlcmltZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluZmVyZW5jZUV4cGVyaW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW5mZXJlbmNlLWV4cGVyaW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW5mZXJlbmNlRXhwZXJpbWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VySW5mZXJlbmNlRXhwZXJpbWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW5mZXJlbmNlRXhwZXJpbWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbmZlcmVuY2UtZXhwZXJpbWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbmZlcmVuY2VFeHBlcmltZW50TmFtZTogbWF0Y2guZ3JvdXBzIS5pbmZlcmVuY2VFeHBlcmltZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYi8ke3Byb3BzLmluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VySW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZTpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5pbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBqb2IocHJvcHM6IFNhZ2VNYWtlckpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06am9iLyR7cHJvcHMuam9iQ2F0ZWdvcnl9LyR7cHJvcHMuam9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VKb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBqb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iQ2F0ZWdvcnk6IG1hdGNoLmdyb3VwcyEuam9iQ2F0ZWdvcnksXG5cdFx0XHRqb2JOYW1lOiBtYXRjaC5ncm91cHMhLmpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbGFiZWxpbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxhYmVsaW5nSm9iKHByb3BzOiBTYWdlTWFrZXJMYWJlbGluZ0pvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bGFiZWxpbmctam9iLyR7cHJvcHMubGFiZWxpbmdKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsYWJlbGluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExhYmVsaW5nSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExhYmVsaW5nSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGxhYmVsaW5nLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMYWJlbGluZ0pvYkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckxhYmVsaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMYWJlbGluZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsYWJlbGluZy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bGFiZWxpbmdKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmxhYmVsaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBsaW5lYWdlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxpbmVhZ2VHcm91cChwcm9wczogU2FnZU1ha2VyTGluZWFnZUdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsaW5lYWdlLWdyb3VwLyR7cHJvcHMubGluZWFnZUdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbGluZWFnZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTGluZWFnZUdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExpbmVhZ2VHcm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsaW5lYWdlLWdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxpbmVhZ2VHcm91cEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckxpbmVhZ2VHcm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGluZWFnZUdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxpbmVhZ2UtZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bGluZWFnZUdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5saW5lYWdlR3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1sZmxvdy1hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWxmbG93QXBwKHByb3BzOiBTYWdlTWFrZXJNbGZsb3dBcHBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1sZmxvdy1hcHAvJHtwcm9wcy5tTGZsb3dBcHBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbWxmbG93LWFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWxmbG93QXBwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1sZmxvd0FwcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtbGZsb3ctYXBwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1sZmxvd0FwcEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlck1sZmxvd0FwcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWxmbG93QXBwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1sZmxvdy1hcHAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bUxmbG93QXBwSWQ6IG1hdGNoLmdyb3VwcyEubUxmbG93QXBwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbWxmbG93LXRyYWNraW5nLXNlcnZlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtbGZsb3dUcmFja2luZ1NlcnZlcihcblx0XHRwcm9wczogU2FnZU1ha2VyTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWxmbG93LXRyYWNraW5nLXNlcnZlci8ke3Byb3BzLm1sZmxvd1RyYWNraW5nU2VydmVyTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbWxmbG93LXRyYWNraW5nLXNlcnZlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbWxmbG93LXRyYWNraW5nLXNlcnZlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNbGZsb3dUcmFja2luZ1NlcnZlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1sZmxvd1RyYWNraW5nU2VydmVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lOiBtYXRjaC5ncm91cHMhLm1sZmxvd1RyYWNraW5nU2VydmVyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbChwcm9wczogU2FnZU1ha2VyTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLyR7cHJvcHMubW9kZWxOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJNb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxOYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQmlhc0pvYkRlZmluaXRpb24oXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbi8ke3Byb3BzLm1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtY2FyZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbENhcmQocHJvcHM6IFNhZ2VNYWtlck1vZGVsQ2FyZEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtY2FyZC8ke3Byb3BzLm1vZGVsQ2FyZE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWNhcmQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQ2FyZEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbENhcmRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtY2FyZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbENhcmRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJNb2RlbENhcmRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQ2FyZEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1jYXJkIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsQ2FyZE5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxDYXJkTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxDYXJkRXhwb3J0Sm9iKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb2RlbENhcmRFeHBvcnRKb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtY2FyZC8ke3Byb3BzLm1vZGVsQ2FyZE5hbWV9L2V4cG9ydC1qb2IvJHtwcm9wcy5leHBvcnRKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQ2FyZEV4cG9ydEpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbENhcmRFeHBvcnRKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtY2FyZC1leHBvcnQtam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsQ2FyZEV4cG9ydEpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxDYXJkRXhwb3J0Sm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbENhcmRFeHBvcnRKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtY2FyZC1leHBvcnQtam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsQ2FyZE5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxDYXJkTmFtZSxcblx0XHRcdGV4cG9ydEpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuZXhwb3J0Sm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbihcblx0XHRwcm9wczogU2FnZU1ha2VyTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24vJHtwcm9wcy5tb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgSW52YWxpZCBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk46ICR7YXJufWAsXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEubW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLXBhY2thZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxQYWNrYWdlKHByb3BzOiBTYWdlTWFrZXJNb2RlbFBhY2thZ2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLXBhY2thZ2UvJHtwcm9wcy5tb2RlbFBhY2thZ2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1wYWNrYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbFBhY2thZ2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxQYWNrYWdlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLXBhY2thZ2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxQYWNrYWdlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTW9kZWxQYWNrYWdlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbFBhY2thZ2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtcGFja2FnZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbFBhY2thZ2VOYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsUGFja2FnZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtcGFja2FnZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbFBhY2thZ2VHcm91cChwcm9wczogU2FnZU1ha2VyTW9kZWxQYWNrYWdlR3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLXBhY2thZ2UtZ3JvdXAvJHtwcm9wcy5tb2RlbFBhY2thZ2VHcm91cE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLXBhY2thZ2UtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsUGFja2FnZUdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsUGFja2FnZUdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLXBhY2thZ2UtZ3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxQYWNrYWdlR3JvdXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vZGVsUGFja2FnZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbFBhY2thZ2VHcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1wYWNrYWdlLWdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsUGFja2FnZUdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbFBhY2thZ2VHcm91cE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24vJHtwcm9wcy5tb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLm1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vbml0b3Jpbmctc2NoZWR1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9uaXRvcmluZ1NjaGVkdWxlKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9uaXRvcmluZy1zY2hlZHVsZS8ke3Byb3BzLm1vbml0b3JpbmdTY2hlZHVsZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vbml0b3Jpbmctc2NoZWR1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vbml0b3JpbmdTY2hlZHVsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb25pdG9yaW5nU2NoZWR1bGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9uaXRvcmluZy1zY2hlZHVsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb25pdG9yaW5nU2NoZWR1bGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9uaXRvcmluZ1NjaGVkdWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vbml0b3Jpbmctc2NoZWR1bGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogbWF0Y2guZ3JvdXBzIS5tb25pdG9yaW5nU2NoZWR1bGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9uaXRvcmluZ1NjaGVkdWxlQWxlcnQoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vbml0b3Jpbmctc2NoZWR1bGUvJHtwcm9wcy5tb25pdG9yaW5nU2NoZWR1bGVOYW1lfS9hbGVydC8ke3Byb3BzLm1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogbWF0Y2guZ3JvdXBzIS5tb25pdG9yaW5nU2NoZWR1bGVOYW1lLFxuXHRcdFx0bW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lOiBtYXRjaC5ncm91cHMhLm1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBub3RlYm9vay1pbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBub3RlYm9va0luc3RhbmNlKHByb3BzOiBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpub3RlYm9vay1pbnN0YW5jZS8ke3Byb3BzLm5vdGVib29rSW5zdGFuY2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBub3RlYm9vay1pbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTm90ZWJvb2tJbnN0YW5jZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBOb3RlYm9va0luc3RhbmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG5vdGVib29rLWluc3RhbmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU5vdGVib29rSW5zdGFuY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE5vdGVib29rSW5zdGFuY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbm90ZWJvb2staW5zdGFuY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bm90ZWJvb2tJbnN0YW5jZU5hbWU6IG1hdGNoLmdyb3VwcyEubm90ZWJvb2tJbnN0YW5jZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcvJHtwcm9wcy5ub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLm5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG9wdGltaXphdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgb3B0aW1pemF0aW9uSm9iKHByb3BzOiBTYWdlTWFrZXJPcHRpbWl6YXRpb25Kb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om9wdGltaXphdGlvbi1qb2IvJHtwcm9wcy5vcHRpbWl6YXRpb25Kb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBvcHRpbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPcHRpbWl6YXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT3B0aW1pemF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG9wdGltaXphdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT3B0aW1pemF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJPcHRpbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9wdGltaXphdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvcHRpbWl6YXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG9wdGltaXphdGlvbkpvYk5hbWU6IG1hdGNoLmdyb3VwcyEub3B0aW1pemF0aW9uSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwYXJ0bmVyLWFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwYXJ0bmVyQXBwKHByb3BzOiBTYWdlTWFrZXJQYXJ0bmVyQXBwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwYXJ0bmVyLWFwcC8ke3Byb3BzLmFwcElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwYXJ0bmVyLWFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGFydG5lckFwcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQYXJ0bmVyQXBwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBhcnRuZXItYXBwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBhcnRuZXJBcHBBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJQYXJ0bmVyQXBwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQYXJ0bmVyQXBwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhcnRuZXItYXBwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFwcElkOiBtYXRjaC5ncm91cHMhLmFwcElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBpcGVsaW5lIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBpcGVsaW5lKHByb3BzOiBTYWdlTWFrZXJQaXBlbGluZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGlwZWxpbmUvJHtwcm9wcy5waXBlbGluZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBpcGVsaW5lIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQaXBlbGluZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQaXBlbGluZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwaXBlbGluZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQaXBlbGluZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclBpcGVsaW5lQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQaXBlbGluZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwaXBlbGluZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwaXBlbGluZU5hbWU6IG1hdGNoLmdyb3VwcyEucGlwZWxpbmVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBpcGVsaW5lLWV4ZWN1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwaXBlbGluZUV4ZWN1dGlvbihwcm9wczogU2FnZU1ha2VyUGlwZWxpbmVFeGVjdXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBpcGVsaW5lLyR7cHJvcHMucGlwZWxpbmVOYW1lfS9leGVjdXRpb24vJHtwcm9wcy5yYW5kb21TdHJpbmd9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBpcGVsaW5lLWV4ZWN1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGlwZWxpbmVFeGVjdXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUGlwZWxpbmVFeGVjdXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcGlwZWxpbmUtZXhlY3V0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBpcGVsaW5lRXhlY3V0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJQaXBlbGluZUV4ZWN1dGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGlwZWxpbmVFeGVjdXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGlwZWxpbmUtZXhlY3V0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBpcGVsaW5lTmFtZTogbWF0Y2guZ3JvdXBzIS5waXBlbGluZU5hbWUsXG5cdFx0XHRyYW5kb21TdHJpbmc6IG1hdGNoLmdyb3VwcyEucmFuZG9tU3RyaW5nLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb2Nlc3Npbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb2Nlc3NpbmdKb2IocHJvcHM6IFNhZ2VNYWtlclByb2Nlc3NpbmdKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb2Nlc3Npbmctam9iLyR7cHJvcHMucHJvY2Vzc2luZ0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb2Nlc3Npbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9jZXNzaW5nSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb2Nlc3NpbmdKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvY2Vzc2luZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvY2Vzc2luZ0pvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyUHJvY2Vzc2luZ0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvY2Vzc2luZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9jZXNzaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9jZXNzaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5wcm9jZXNzaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm9qZWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb2plY3QocHJvcHM6IFNhZ2VNYWtlclByb2plY3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb2plY3QvJHtwcm9wcy5wcm9qZWN0TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvamVjdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9qZWN0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb2plY3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvamVjdEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclByb2plY3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb2plY3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvamVjdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9qZWN0TmFtZTogbWF0Y2guZ3JvdXBzIS5wcm9qZWN0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZXNlcnZlZC1jYXBhY2l0eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXNlcnZlZENhcGFjaXR5KHByb3BzOiBTYWdlTWFrZXJSZXNlcnZlZENhcGFjaXR5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXNlcnZlZC1jYXBhY2l0eS8ke3Byb3BzLnJhbmRvbVN0cmluZ31gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVzZXJ2ZWQtY2FwYWNpdHkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlc2VydmVkQ2FwYWNpdHlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVzZXJ2ZWRDYXBhY2l0eUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZXNlcnZlZC1jYXBhY2l0eSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXNlcnZlZENhcGFjaXR5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJSZXNlcnZlZENhcGFjaXR5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNlcnZlZENhcGFjaXR5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlc2VydmVkLWNhcGFjaXR5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJhbmRvbVN0cmluZzogbWF0Y2guZ3JvdXBzIS5yYW5kb21TdHJpbmcsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2FnZW1ha2VyLWNhdGFsb2cgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2FnZW1ha2VyQ2F0YWxvZyhwcm9wczogU2FnZU1ha2VyU2FnZW1ha2VyQ2F0YWxvZ0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2FnZW1ha2VyLWNhdGFsb2cvJHtwcm9wcy5yZXNvdXJjZUNhdGFsb2dOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzYWdlbWFrZXItY2F0YWxvZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2FnZW1ha2VyQ2F0YWxvZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTYWdlbWFrZXJDYXRhbG9nQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNhZ2VtYWtlci1jYXRhbG9nIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNhZ2VtYWtlckNhdGFsb2dBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclNhZ2VtYWtlckNhdGFsb2dBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNhZ2VtYWtlckNhdGFsb2dBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2FnZW1ha2VyLWNhdGFsb2cgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VDYXRhbG9nTmFtZTogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUNhdGFsb2dOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNoYXJlZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzaGFyZWRNb2RlbChwcm9wczogU2FnZU1ha2VyU2hhcmVkTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNoYXJlZC1tb2RlbC8ke3Byb3BzLnNoYXJlZE1vZGVsSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNoYXJlZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2hhcmVkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2hhcmVkTW9kZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2hhcmVkLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNoYXJlZE1vZGVsQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyU2hhcmVkTW9kZWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNoYXJlZE1vZGVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNoYXJlZC1tb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzaGFyZWRNb2RlbElkOiBtYXRjaC5ncm91cHMhLnNoYXJlZE1vZGVsSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2hhcmVkLW1vZGVsLWV2ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNoYXJlZE1vZGVsRXZlbnQocHJvcHM6IFNhZ2VNYWtlclNoYXJlZE1vZGVsRXZlbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNoYXJlZC1tb2RlbC1ldmVudC8ke3Byb3BzLmV2ZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNoYXJlZC1tb2RlbC1ldmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2hhcmVkTW9kZWxFdmVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTaGFyZWRNb2RlbEV2ZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNoYXJlZC1tb2RlbC1ldmVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTaGFyZWRNb2RlbEV2ZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJTaGFyZWRNb2RlbEV2ZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTaGFyZWRNb2RlbEV2ZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNoYXJlZC1tb2RlbC1ldmVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRldmVudElkOiBtYXRjaC5ncm91cHMhLmV2ZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc3BhY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc3BhY2UocHJvcHM6IFNhZ2VNYWtlclNwYWNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzcGFjZS8ke3Byb3BzLmRvbWFpbklkfS8ke3Byb3BzLnNwYWNlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc3BhY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNwYWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNwYWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNwYWNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNwYWNlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyU3BhY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNwYWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNwYWNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbklkOiBtYXRjaC5ncm91cHMhLmRvbWFpbklkLFxuXHRcdFx0c3BhY2VOYW1lOiBtYXRjaC5ncm91cHMhLnNwYWNlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzdHVkaW9MaWZlY3ljbGVDb25maWcoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlclN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZy8ke3Byb3BzLnN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTdHVkaW9MaWZlY3ljbGVDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZTogbWF0Y2guZ3JvdXBzIS5zdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRyYWluaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0cmFpbmluZ0pvYihwcm9wczogU2FnZU1ha2VyVHJhaW5pbmdKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRyYWluaW5nLWpvYi8ke3Byb3BzLnRyYWluaW5nSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdHJhaW5pbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUcmFpbmluZ0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUcmFpbmluZ0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cmFpbmluZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVHJhaW5pbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJUcmFpbmluZ0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVHJhaW5pbmdKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhaW5pbmctam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyYWluaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS50cmFpbmluZ0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdHJhaW5pbmctcGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0cmFpbmluZ1BsYW4ocHJvcHM6IFNhZ2VNYWtlclRyYWluaW5nUGxhbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dHJhaW5pbmctcGxhbi8ke3Byb3BzLnRyYWluaW5nUGxhbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRyYWluaW5nLXBsYW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRyYWluaW5nUGxhbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUcmFpbmluZ1BsYW5Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdHJhaW5pbmctcGxhbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUcmFpbmluZ1BsYW5Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJUcmFpbmluZ1BsYW5Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRyYWluaW5nUGxhbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0cmFpbmluZy1wbGFuIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyYWluaW5nUGxhbk5hbWU6IG1hdGNoLmdyb3VwcyEudHJhaW5pbmdQbGFuTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0cmFuc2Zvcm0tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRyYW5zZm9ybUpvYihwcm9wczogU2FnZU1ha2VyVHJhbnNmb3JtSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0cmFuc2Zvcm0tam9iLyR7cHJvcHMudHJhbnNmb3JtSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdHJhbnNmb3JtLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVHJhbnNmb3JtSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRyYW5zZm9ybUpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cmFuc2Zvcm0tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRyYW5zZm9ybUpvYkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclRyYW5zZm9ybUpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVHJhbnNmb3JtSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyYW5zZm9ybS1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dHJhbnNmb3JtSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS50cmFuc2Zvcm1Kb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHVzZXItcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB1c2VyUHJvZmlsZShwcm9wczogU2FnZU1ha2VyVXNlclByb2ZpbGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnVzZXItcHJvZmlsZS8ke3Byb3BzLmRvbWFpbklkfS8ke3Byb3BzLnVzZXJQcm9maWxlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdXNlci1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRVc2VyUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBVc2VyUHJvZmlsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB1c2VyLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVXNlclByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJVc2VyUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVXNlclByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdXNlci1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbklkOiBtYXRjaC5ncm91cHMhLmRvbWFpbklkLFxuXHRcdFx0dXNlclByb2ZpbGVOYW1lOiBtYXRjaC5ncm91cHMhLnVzZXJQcm9maWxlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3JrZm9yY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgd29ya2ZvcmNlKHByb3BzOiBTYWdlTWFrZXJXb3JrZm9yY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Ondvcmtmb3JjZS8ke3Byb3BzLndvcmtmb3JjZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdvcmtmb3JjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV29ya2ZvcmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFdvcmtmb3JjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3JrZm9yY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV29ya2ZvcmNlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyV29ya2ZvcmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3JrZm9yY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd29ya2ZvcmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHdvcmtmb3JjZU5hbWU6IG1hdGNoLmdyb3VwcyEud29ya2ZvcmNlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3JrdGVhbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3JrdGVhbShwcm9wczogU2FnZU1ha2VyV29ya3RlYW1Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Ondvcmt0ZWFtLyR7cHJvcHMud29ya3RlYW1OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3b3JrdGVhbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV29ya3RlYW1Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV29ya3RlYW1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgd29ya3RlYW0gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV29ya3RlYW1Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJXb3JrdGVhbUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV29ya3RlYW1Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd29ya3RlYW0gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0d29ya3RlYW1OYW1lOiBtYXRjaC5ncm91cHMhLndvcmt0ZWFtTmFtZSxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBzYWdlbWFrZXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYWdlTWFrZXJPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6QWRkQXNzb2NpYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZFRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpBZGRUYWdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVUcmlhbENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVRyaWFsQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBc3NvY2lhdGVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBdHRhY2hDbHVzdGVyTm9kZU5ldHdvcmtJbnRlcmZhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hDbHVzdGVyTm9kZU5ldHdvcmtJbnRlcmZhY2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoQWRkQ2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hBZGRDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoQWRkQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0TWV0cmljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0TWV0cmljczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6QmF0Y2hHZXRNZXRyaWNzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpCYXRjaEdldFJlY29yZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hQdXRNZXRyaWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hQdXRNZXRyaWNzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpCYXRjaFB1dE1ldHJpY3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUmVib290Q2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoUmVib290Q2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUmVwbGFjZUNsdXN0ZXJOb2RlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUmVwbGFjZUNsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoV3JpdGVSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFdyaXRlUmVjb3JkOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaFdyaXRlUmVjb3JkXCIsXG5cdFx0XCJzYWdlbWFrZXI6UHV0UmVjb3JkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbXBsZXRlUm9sbG91dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlUm9sbG91dDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwic2FnZW1ha2VyOkNvbXBsZXRlUm9sbG91dFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJQmVuY2htYXJrSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQUlCZW5jaG1hcmtKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFsZ29yaXRobSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFsZ29yaXRobTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFsZ29yaXRobVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFwcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBcHBJbWFnZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcEltYWdlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9NTEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9NTEpvYlYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2JWMlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb2RlUmVwb3NpdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvZGVSZXBvc2l0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21waWxhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUNvbXBpbGF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29tcHV0ZVF1b3RhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250ZXh0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29udGV4dFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVEb21haW5cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW46IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVuZHBvaW50Q29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFbmRwb2ludENvbmZpZ1wiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGZWF0dXJlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVGZWF0dXJlR3JvdXBcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGbG93RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRmxvd0RlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJsczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHVtYW5UYXNrVWk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUltYWdlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSm9iXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMYWJlbGluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhYmVsaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dBcHBcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxcIixcblx0XHRcInNhZ2VtYWtlcjpEZXBsb3lIdWJNb2RlbFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQ2FyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUGFja2FnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU9wdGltaXphdGlvbkpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBhcnRuZXJBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQaXBlbGluZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVBpcGVsaW5lXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWREb21haW5VcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2Nlc3NpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcm9jZXNzaW5nSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcm9qZWN0XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTcGFjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVNwYWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmFpbmluZ1BsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ1BsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVSZXNlcnZlZENhcGFjaXR5XCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRyYW5zZm9ybUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYW5zZm9ybUpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyYW5zZm9ybUpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmlhbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJpYWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJpYWxDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVVc2VyUHJvZmlsZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmb3JjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVdvcmtmb3JjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlV29ya3RlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQUlCZW5jaG1hcmtKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSUJlbmNobWFya0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQUlCZW5jaG1hcmtKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQUlXb3JrbG9hZENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFJV29ya2xvYWRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFsZ29yaXRobSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFsZ29yaXRobTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQWxnb3JpdGhtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBwSW1hZ2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBJbWFnZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFzc29jaWF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29kZVJlcG9zaXRvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb2RlUmVwb3NpdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb21waWxhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQ29tcGlsYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29tcHV0ZVF1b3RhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcHV0ZVF1b3RhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVDb21wdXRlUXVvdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29udGV4dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbnRleHQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUNvbnRleHRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURldmljZUZsZWV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGV2aWNlRmxlZXQ6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlRG9tYWluXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFBsYW46IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRW5kcG9pbnRDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUV4cGVyaW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZlYXR1cmVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRmVhdHVyZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZsb3dEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUZsb3dEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSHViXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIdWJDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViQ29udGVudDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHVtYW5Mb29wOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVIdW1hbkxvb3BcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHVtYW5UYXNrVWk6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUh1bWFuVGFza1VpXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltYWdlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW1hZ2VWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1hZ2VWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1sZmxvd0FwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd0FwcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlTWxmbG93QXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxDYXJkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU5vdGVib29rSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlT3B0aW1pemF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBhcnRuZXJBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXJ0bmVyQXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVQYXJ0bmVyQXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQaXBlbGluZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBpcGVsaW5lOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVQaXBlbGluZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2Nlc3NpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZVByb2Nlc3NpbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2plY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVByb2plY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29yZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlUmVjb3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNwYWNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGFncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhZ3M6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJhaW5pbmdKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVRyYWluaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUcmlhbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyaWFsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVUcmlhbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVHJpYWxDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlVHJpYWxDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVXNlclByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyUHJvZmlsZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlVXNlclByb2ZpbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmb3JjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlV29ya2ZvcmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVXb3JrdGVhbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlckRldmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlCZW5jaG1hcmtKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQUlCZW5jaG1hcmtKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjdGlvbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWxnb3JpdGhtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBbGdvcml0aG06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQWxnb3JpdGhtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHBJbWFnZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwSW1hZ2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcnRpZmFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXV0b01MSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUF1dG9NTEpvYlYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2JWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyRXZlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJFdmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyRXZlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyTm9kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3Rlck5vZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3Rlck5vZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb2RlUmVwb3NpdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29kZVJlcG9zaXRvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb21waWxhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcGlsYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ29tcGlsYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb21wdXRlUXVvdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXB1dGVRdW90YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDb21wdXRlUXVvdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb250ZXh0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb250ZXh0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUNvbnRleHRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGV2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZXZpY2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGV2aWNlRmxlZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9tYWluOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFbmRwb2ludENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGZWF0dXJlTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlTWV0YWRhdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGbG93RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxvd0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRmxvd0RlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSHViQ29udGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHViQ29udGVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJDb250ZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdW1hbkxvb3A6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5Mb29wXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdW1hblRhc2tVaTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIdW1hblRhc2tVaVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbWFnZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSm9iU2NoZW1hVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iU2NoZW1hVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGFiZWxpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxhYmVsaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUxhYmVsaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGluZWFnZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaW5lYWdlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTGluZWFnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWxmbG93QXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93QXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbENhcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxQYWNrYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlT3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlT3B0aW1pemF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGFydG5lckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGFydG5lckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQYXJ0bmVyQXBwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBpcGVsaW5lRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByb2Nlc3NpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2Nlc3NpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUHJvY2Vzc2luZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2plY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlUHJvamVjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3BhY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlU3BhY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhaW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhaW5pbmdQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ1BsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhbnNmb3JtSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFuc2Zvcm1Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhbnNmb3JtSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyaWFsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VyUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVVc2VyUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya2ZvcmNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVdvcmtmb3JjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3RlYW06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlV29ya3RlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGFjaENsdXN0ZXJOb2RlVm9sdW1lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRldGFjaENsdXN0ZXJOb2RlVm9sdW1lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW86IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4dGVuZFRyYWluaW5nUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4dGVuZFRyYWluaW5nUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RXh0ZW5kVHJhaW5pbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERlcGxveW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREZXBsb3ltZW50czogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGV2aWNlRmxlZXRSZXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERldmljZUZsZWV0UmVwb3J0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREZXZpY2VSZWdpc3RyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERldmljZVJlZ2lzdHJhdGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TGluZWFnZUdyb3VwUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMaW5lYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldExpbmVhZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpHZXRSZWNvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6R2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZWFyY2hTdWdnZXN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VhcmNoU3VnZ2VzdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldFNlYXJjaFN1Z2dlc3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydEh1YkNvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRIdWJDb250ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkludm9rZUVuZHBvaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VFbmRwb2ludEFzeW5jIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRBc3luYzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRBc3luY1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJQmVuY2htYXJrSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSUJlbmNobWFya0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RBSUJlbmNobWFya0pvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJV29ya2xvYWRDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJV29ya2xvYWRDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlXb3JrbG9hZENvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFjdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBbGdvcml0aG1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsZ29yaXRobXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWxpYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGlhc2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0QWxpYXNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcEltYWdlQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbWFnZUNvbmZpZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RBcHBJbWFnZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFwcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcnRpZmFjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXJ0aWZhY3RzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0QXJ0aWZhY3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFzc29jaWF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF1dG9NTEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b01MSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEF1dG9NTEpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbHVzdGVyRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJFdmVudHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDbHVzdGVyRXZlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJOb2Rlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb2RlUmVwb3NpdG9yaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvZGVSZXBvc2l0b3JpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RDb2RlUmVwb3NpdG9yaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb21waWxhdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcGlsYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q29tcGlsYXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb21wdXRlUXVvdGFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXB1dGVRdW90YXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDb21wdXRlUXVvdGFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29udGV4dHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29udGV4dHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDb250ZXh0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERldmljZUZsZWV0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VGbGVldHM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3REb21haW5zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RWRnZURlcGxveW1lbnRQbGFucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFZGdlRGVwbG95bWVudFBsYW5zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RWRnZVBhY2thZ2luZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZVBhY2thZ2luZ0pvYnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmRwb2ludENvbmZpZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmRwb2ludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXhwZXJpbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhwZXJpbWVudHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RFeHBlcmltZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZlYXR1cmVHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmVhdHVyZUdyb3Vwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEZlYXR1cmVHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93RGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0RlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Rmxvd0RlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdWJDb250ZW50VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHViQ29udGVudFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0SHViQ29udGVudFZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdWJDb250ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJDb250ZW50czogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHVicyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SHVic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEh1bWFuTG9vcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5Mb29wczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1bWFuTG9vcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdW1hblRhc2tVaXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5UYXNrVWlzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SHVtYW5UYXNrVWlzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1hZ2VWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SW1hZ2VWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEltYWdlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RJbWFnZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VDb21wb25lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZUNvbXBvbmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VDb21wb25lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VFeHBlcmltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VFeHBlcmltZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RKb2JTY2hlbWFWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JTY2hlbWFWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEpvYlNjaGVtYVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvYnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TGFiZWxpbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExpbmVhZ2VHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGluZWFnZUdyb3Vwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdExpbmVhZ2VHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNbGZsb3dBcHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd0FwcHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNbGZsb3dBcHBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd1RyYWNraW5nU2VydmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1sZmxvd1RyYWNraW5nU2VydmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkRXhwb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRFeHBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkRXhwb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbENhcmRWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxNZXRhZGF0YTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdE1vZGVsTWV0YWRhdGFcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbFBhY2thZ2VHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxQYWNrYWdlR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlR3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbFBhY2thZ2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUGFja2FnZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNb2RlbFBhY2thZ2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdE1vZGVsc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdBbGVydHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdTY2hlZHVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ1NjaGVkdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdTY2hlZHVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGVib29rSW5zdGFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9wdGltaXphdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3B0aW1pemF0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE9wdGltaXphdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBhcnRuZXJBcHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJBcHBzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0UGFydG5lckFwcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZUV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVFeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZVBhcmFtZXRlcnNGb3JFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZVZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvY2Vzc2luZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvY2Vzc2luZ0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQcm9jZXNzaW5nSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvamVjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvamVjdHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RQcm9qZWN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3Jkczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFJlY29yZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvdXJjZUNhdGFsb2dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlQ2F0YWxvZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RSZXNvdXJjZUNhdGFsb2dzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3BhY2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0U3BhY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3RhZ2VEZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0YWdlRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN1YnNjcmliZWRXb3JrdGVhbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3Vic2NyaWJlZFdvcmt0ZWFtczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFN1YnNjcmliZWRXb3JrdGVhbXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmFpbmluZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJhaW5pbmdQbGFucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ1BsYW5zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdQbGFuc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRyYW5zZm9ybUpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhbnNmb3JtSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlhbENvbXBvbmVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxDb21wb25lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0VHJpYWxDb21wb25lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlhbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJpYWxzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VXNlclByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVzZXJQcm9maWxlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFVzZXJQcm9maWxlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdvcmtmb3JjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2ZvcmNlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFdvcmtmb3JjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RXb3JrdGVhbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya3RlYW1zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0V29ya3RlYW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWNvcmQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlB1dFJlY29yZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUXVlcnlMaW5lYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUXVlcnlMaW5lYWdlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpRdWVyeUxpbmVhZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyRGV2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVuZGVyVWlUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbmRlclVpVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6UmVuZGVyVWlUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXRyeVBpcGVsaW5lRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlQaXBlbGluZUV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UmV0cnlQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTYW1wbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTYW1wbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcInNhZ2VtYWtlcjpTYW1wbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlYXJjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U2VhcmNoXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kSGVhcnRiZWF0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEhlYXJ0YmVhdDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2Vzczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRDbHVzdGVySGVhbHRoQ2hlY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENsdXN0ZXJIZWFsdGhDaGVjazogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRDbHVzdGVySGVhbHRoQ2hlY2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEh1bWFuTG9vcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SHVtYW5Mb29wOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydEluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNb25pdG9yaW5nU2NoZWR1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnROb3RlYm9va0luc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydE5vdGVib29rSW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0UGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdGFydFNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BBSUJlbmNobWFya0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcEFJQmVuY2htYXJrSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJUmVjb21tZW5kYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BBSVJlY29tbWVuZGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBdXRvTUxKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQXV0b01MSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wQXV0b01MSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQ29tcGlsYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BDb21waWxhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRWRnZURlcGxveW1lbnRTdGFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRWRnZVBhY2thZ2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlUGFja2FnaW5nSm9iOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh1bWFuTG9vcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcEh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcEluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlN0b3BKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BMYWJlbGluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BMYWJlbGluZ0pvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcExhYmVsaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcE1vbml0b3JpbmdTY2hlZHVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wT3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcE9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUGlwZWxpbmVFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQcm9jZXNzaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wUHJvY2Vzc2luZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wVHJhaW5pbmdKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BUcmFuc2Zvcm1Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhbnNmb3JtSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wVHJhbnNmb3JtSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY3Rpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUFjdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXBwSW1hZ2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHBJbWFnZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaEFkZENsdXN0ZXJOb2Rlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvZGVSZXBvc2l0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29kZVJlcG9zaXRvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbXB1dGVRdW90YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbXB1dGVRdW90YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250ZXh0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVDb250ZXh0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZURvbWFpblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRW5kcG9pbnRXZWlnaHRzQW5kQ2FwYWNpdGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUV4cGVyaW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZlYXR1cmVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZlYXR1cmVNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZU1ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlSHViXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVIdWJDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViQ29udGVudDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbWFnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZU1sZmxvd0FwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTW9kZWxDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9kZWxDYXJkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsUGFja2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vbml0b3JpbmdBbGVydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdBbGVydDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ0FsZXJ0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQYXJ0bmVyQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGFydG5lckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVBhcnRuZXJBcHBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQaXBlbGluZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVByb2plY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3JkOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXdhcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXdhcmQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVSZXdhcmRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTcGFjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlU3BhY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJhaW5pbmdKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVRyYWluaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUcmlhbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyaWFsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVUcmlhbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVHJpYWxDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlVHJpYWxDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVXNlclByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVVc2VyUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVVc2VyUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVXb3JrZm9yY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrZm9yY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVdvcmtmb3JjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlV29ya3RlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrdGVhbTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlV29ya3RlYW1cIl07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBzYWdlbWFrZXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYWdlTWFrZXJDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFkZFRhZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOlRhZ2dpbmdBY3Rpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENhbGxXaXRoQmVhcmVyVG9rZW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FsbFdpdGhCZWFyZXJUb2tlbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJlYXJlclRva2VuVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQUlCZW5jaG1hcmtKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlCZW5jaG1hcmtKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBbGdvcml0aG0gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWxnb3JpdGhtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcHAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFwcEltYWdlQ29uZmlnIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcEltYWdlQ29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcnRpZmFjdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcnRpZmFjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXV0b01MSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXV0b01MSm9iVjIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iVjJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNsdXN0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3RlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb2RlUmVwb3NpdG9yeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2RlUmVwb3NpdG9yeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29tcGlsYXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcGlsYXRpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbXB1dGVRdW90YSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21wdXRlUXVvdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbnRleHQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udGV4dENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGV2aWNlRmxlZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGV2aWNlRmxlZXRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURvbWFpbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOkF1dGhNb2RlXCIsXG5cdFx0XCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZURlcGxveW1lbnRQbGFuQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVkZ2VQYWNrYWdpbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRW5kcG9pbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVuZHBvaW50Q29uZmlnIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50Q29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFyblwiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWF4Q29uY3VycmVuY3lcIixcblx0XHRcInNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWVtb3J5U2l6ZVwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFeHBlcmltZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4cGVyaW1lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZlYXR1cmVHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGZWF0dXJlR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBEaXNhYmxlR2x1ZVRhYmxlQ3JlYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBFbmFibGVPbmxpbmVTdG9yZVwiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUNvbmZpZ1wiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZsb3dEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6V29ya3RlYW1Bcm5cIixcblx0XHRcInNhZ2VtYWtlcjpXb3JrdGVhbVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUh1YiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSHVtYW5UYXNrVWkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHVtYW5UYXNrVWlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbUFjY2Vzc01vZGVcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aFwiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1JZFwiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1UeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVJbWFnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbWFnZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUNvbXBvbmVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsQXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTGFiZWxpbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGFiZWxpbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpXb3JrdGVhbUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOldvcmt0ZWFtVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTWxmbG93QXBwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd0FwcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RGlyZWN0R2F0ZWRNb2RlbEFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbENhcmQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDYXJkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXG5cdFx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxQYWNrYWdlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUGFja2FnZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxBcHByb3ZhbFN0YXR1c1wiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VTdGF0dXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsUGFja2FnZUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUGFja2FnZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU5vdGVib29rSW5zdGFuY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpSb290QWNjZXNzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIiwgXCJhd3M6VGFnS2V5c1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU9wdGltaXphdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHRpbWl6YXRpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVBhcnRuZXJBcHAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lckFwcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUGlwZWxpbmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGlwZWxpbmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVByb2Nlc3NpbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvY2Vzc2luZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvamVjdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9qZWN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXNlcnZlZENhcGFjaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc2VydmVkQ2FwYWNpdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6UmVtb3RlQWNjZXNzXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRyYWluaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RGlyZWN0R2F0ZWRNb2RlbEFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOkVuYWJsZVJlbW90ZURlYnVnXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbUFjY2Vzc01vZGVcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aFwiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1JZFwiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1UeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RcIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUcmFpbmluZ1BsYW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdQbGFuQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUcmFuc2Zvcm1Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhbnNmb3JtSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUcmlhbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJpYWxDb21wb25lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpYWxDb21wb25lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVVzZXJQcm9maWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJQcm9maWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVdvcmtmb3JjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrZm9yY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVdvcmt0ZWFtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmt0ZWFtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVBcHAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUZlYXR1cmVHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGZWF0dXJlR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlU3BhY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlVGFncyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYWdzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlUGlwZWxpbmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbXBvcnRIdWJDb250ZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEh1YkNvbnRlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEludm9rZUVuZHBvaW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VGFyZ2V0TW9kZWxcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dFJlY29yZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWNvcmRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpJc1VwZGF0ZVJlY29yZFwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0YWJsZUZlYXR1cmVzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3RlckRldmljZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJEZXZpY2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTZWFyY2ggYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U2VhcmNoVmlzaWJpbGl0eUNvbmRpdGlvbi8ke0ZpbHRlcktleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0UGlwZWxpbmVFeGVjdXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQaXBlbGluZUV4ZWN1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZURvbWFpbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb21haW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTW9kZWxQYWNrYWdlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsUGFja2FnZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXNUb1JlbW92ZVwiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVwiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVOb3RlYm9va0luc3RhbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb25cIixcblx0XHRcInNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOlJvb3RBY2Nlc3NcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVBpcGVsaW5lVmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZVZlcnNpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlUHJvamVjdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9qZWN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTcGFjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlJlbW90ZUFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVUcmFpbmluZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmFpbmluZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkVuYWJsZVJlbW90ZURlYnVnXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOktlZXBBbGl2ZVBlcmlvZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlVXNlclByb2ZpbGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVXNlclByb2ZpbGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFDQ0VMRVJBVE9SX1RZUEVTID0gXCJzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkFwcE5ldHdvcmtBY2Nlc3NUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBUFBfTkVUV09SS19BQ0NFU1NfVFlQRSA9IFwic2FnZW1ha2VyOkFwcE5ldHdvcmtBY2Nlc3NUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6QXV0aE1vZGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFVVEhfTU9ERSA9IFwic2FnZW1ha2VyOkF1dGhNb2RlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6QmVhcmVyVG9rZW5UeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBCRUFSRVJfVE9LRU5fVFlQRSA9IFwic2FnZW1ha2VyOkJlYXJlclRva2VuVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkN1cnJlbnRDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VSUkVOVF9DVVNUT01FUl9NRVRBREFUQV9QUk9QRVJUSUVTID1cblx0XHRcInNhZ2VtYWtlcjpDdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VSUkVOVF9NT0RFTF9MSUZFX0NZQ0xFX1NUQUdFID1cblx0XHRcInNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlU3RhdHVzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDVVJSRU5UX01PREVMX0xJRkVfQ1lDTEVfU1RBR0VfU1RBVFVTID1cblx0XHRcInNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVN0YXR1c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDVVNUT01FUl9NRVRBREFUQV9QUk9QRVJUSUVTID1cblx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmUgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDVVNUT01FUl9NRVRBREFUQV9QUk9QRVJUSUVTX1RPX1JFTU9WRSA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXNUb1JlbW92ZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERJUkVDVF9HQVRFRF9NT0RFTF9BQ0NFU1MgPVxuXHRcdFwic2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3NcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2VzcyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRElSRUNUX0lOVEVSTkVUX0FDQ0VTUyA9IFwic2FnZW1ha2VyOkRpcmVjdEludGVybmV0QWNjZXNzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RG9tYWluSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERPTUFJTl9JRCA9IFwic2FnZW1ha2VyOkRvbWFpbklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRE9NQUlOX1NIQVJJTkdfT1VUUFVUX0tNU19LRVkgPVxuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBET01BSU5fU0hBUklOR19PVVRQVVRfS01TX0tFWV9BUk4gPVxuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1ZyAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9SRU1PVEVfREVCVUcgPSBcInNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cERpc2FibGVHbHVlVGFibGVDcmVhdGlvbiAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfRElTQUJMRV9HTFVFX1RBQkxFX0NSRUFUSU9OID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBEaXNhYmxlR2x1ZVRhYmxlQ3JlYXRpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBFbmFibGVPbmxpbmVTdG9yZSAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfRU5BQkxFX09OTElORV9TVE9SRSA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWcgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfQ09ORklHID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWdcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfT0ZGTElORV9TVE9SRV9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfT0ZGTElORV9TVE9SRV9LTVNfS0VZX0FSTiA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5QXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlUzNVcmkgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfT0ZGTElORV9TVE9SRV9TM19VUkkgPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfT05MSU5FX1NUT1JFX0tNU19LRVkgPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfT05MSU5FX1NUT1JFX0tNU19LRVlfQVJOID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZpbGVTeXN0ZW1BY2Nlc3NNb2RlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGSUxFX1NZU1RFTV9BQ0NFU1NfTU9ERSA9IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1BY2Nlc3NNb2RlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGggKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJTEVfU1lTVEVNX0RJUkVDVE9SWV9QQVRIID1cblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZpbGVTeXN0ZW1JZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRklMRV9TWVNURU1fSUQgPSBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtSWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRklMRV9TWVNURU1fVFlQRSA9IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1UeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6SG9tZUVmc0ZpbGVTeXN0ZW1LbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEhPTUVfRUZTX0ZJTEVfU1lTVEVNX0tNU19LRVkgPVxuXHRcdFwic2FnZW1ha2VyOkhvbWVFZnNGaWxlU3lzdGVtS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6SW1hZ2VBcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU1BR0VfQVJOUyA9IFwic2FnZW1ha2VyOkltYWdlQXJuc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnMgKEFycmF5T2ZBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBJTUFHRV9WRVJTSU9OX0FSTlMgPSBcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6SW5zdGFuY2VUeXBlcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IElOU1RBTkNFX1RZUEVTID0gXCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBJTlRFUl9DT05UQUlORVJfVFJBRkZJQ19FTkNSWVBUSU9OID1cblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6SXNVcGRhdGVSZWNvcmQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBJU19VUERBVEVfUkVDT1JEID0gXCJzYWdlbWFrZXI6SXNVcGRhdGVSZWNvcmRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2QgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBLRUVQX0FMSVZFX1BFUklPRCA9IFwic2FnZW1ha2VyOktlZXBBbGl2ZVBlcmlvZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHMgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBNQVhfUlVOVElNRV9JTl9TRUNPTkRTID0gXCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb24gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1JTklNVU1fSU5TVEFOQ0VfTUVUQURBVEFfU0VSVklDRV9WRVJTSU9OID1cblx0XHRcInNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TW9kZWxBcHByb3ZhbFN0YXR1cyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTU9ERUxfQVBQUk9WQUxfU1RBVFVTID0gXCJzYWdlbWFrZXI6TW9kZWxBcHByb3ZhbFN0YXR1c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1vZGVsQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9BUk4gPSBcInNhZ2VtYWtlcjpNb2RlbEFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9MSUZFX0NZQ0xFX1NUQUdFID0gXCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1cyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTU9ERUxfTElGRV9DWUNMRV9TVEFHRV9TVEFUVVMgPVxuXHRcdFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvbiAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5FVFdPUktfSVNPTEFUSU9OID0gXCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTk9URUJPT0tfSU5TVEFOQ0VfTElGRUNZQ0xFX0NPTkZJR19BUk5TID1cblx0XHRcInNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk91dHB1dEttc0tleSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT1VUUFVUX0tNU19LRVkgPSBcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE9VVFBVVF9LTVNfS0VZX0FSTiA9IFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE9XTkVSX1VTRVJfUFJPRklMRV9BUk4gPSBcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBJUEVMSU5FX1ZFUlNJT05fSUQgPSBcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlJlbW90ZUFjY2VzcyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVNT1RFX0FDQ0VTUyA9IFwic2FnZW1ha2VyOlJlbW90ZUFjY2Vzc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlJlc291cmNlVGFnLyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVTT1VSQ0VfVEFHID0gXCJzYWdlbWFrZXI6UmVzb3VyY2VUYWcvXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Um9vdEFjY2VzcyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUk9PVF9BQ0NFU1MgPSBcInNhZ2VtYWtlcjpSb290QWNjZXNzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6U2VhcmNoVmlzaWJpbGl0eUNvbmRpdGlvbi8ke0ZpbHRlcktleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFQVJDSF9WSVNJQklMSVRZX0NPTkRJVElPTiA9XG5cdFx0XCJzYWdlbWFrZXI6U2VhcmNoVmlzaWJpbGl0eUNvbmRpdGlvbi8ke0ZpbHRlcktleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWF4Q29uY3VycmVuY3kgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWRVJMRVNTX01BWF9DT05DVVJSRU5DWSA9XG5cdFx0XCJzYWdlbWFrZXI6U2VydmVybGVzc01heENvbmN1cnJlbmN5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6U2VydmVybGVzc01lbW9yeVNpemUgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWRVJMRVNTX01FTU9SWV9TSVpFID0gXCJzYWdlbWFrZXI6U2VydmVybGVzc01lbW9yeVNpemVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTUEFDRV9TSEFSSU5HX1RZUEUgPSBcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJucyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNUVURJT19MSUZFQ1lDTEVfQ09ORklHX0FSTlMgPVxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBUQUdHSU5HX0FDVElPTiA9IFwic2FnZW1ha2VyOlRhZ2dpbmdBY3Rpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpUYXJnZXRNb2RlbCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFSR0VUX01PREVMID0gXCJzYWdlbWFrZXI6VGFyZ2V0TW9kZWxcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpVcGRhdGFibGVGZWF0dXJlcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVQREFUQUJMRV9GRUFUVVJFUyA9IFwic2FnZW1ha2VyOlVwZGF0YWJsZUZlYXR1cmVzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VXNlclByb2ZpbGVOYW1lIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBVU0VSX1BST0ZJTEVfTkFNRSA9IFwic2FnZW1ha2VyOlVzZXJQcm9maWxlTmFtZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlZvbHVtZUttc0tleSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVk9MVU1FX0tNU19LRVkgPSBcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZPTFVNRV9LTVNfS0VZX0FSTiA9IFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBWUENfU0VDVVJJVFlfR1JPVVBfSURTID0gXCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlZwY1N1Ym5ldHMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBWUENfU1VCTkVUUyA9IFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpXb3JrdGVhbUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgV09SS1RFQU1fQVJOID0gXCJzYWdlbWFrZXI6V29ya3RlYW1Bcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpXb3JrdGVhbVR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFdPUktURUFNX1RZUEUgPSBcInNhZ2VtYWtlcjpXb3JrdGVhbVR5cGVcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNgLlxuXHQgKi9cblx0c3RhdGljIGFjY2VsZXJhdG9yVHlwZXMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwic2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVgLlxuXHQgKi9cblx0c3RhdGljIGFwcE5ldHdvcmtBY2Nlc3NUeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpBdXRoTW9kZWAuXG5cdCAqL1xuXHRzdGF0aWMgYXV0aE1vZGUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6QXV0aE1vZGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVgLlxuXHQgKi9cblx0c3RhdGljIGJlYXJlclRva2VuVHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkJlYXJlclRva2VuVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkN1cnJlbnRDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgY3VycmVudEN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOkN1cnJlbnRDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VgLlxuXHQgKi9cblx0c3RhdGljIGN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVN0YXR1c2AuXG5cdCAqL1xuXHRzdGF0aWMgY3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXMoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXNcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgY3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHtcblx0XHRcdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIjogdmFsdWUsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmVgLlxuXHQgKi9cblx0c3RhdGljIGN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmUoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmVcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzYC5cblx0ICovXG5cdHN0YXRpYyBkaXJlY3RHYXRlZE1vZGVsQWNjZXNzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6RGlyZWN0R2F0ZWRNb2RlbEFjY2Vzc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkRpcmVjdEludGVybmV0QWNjZXNzYC5cblx0ICovXG5cdHN0YXRpYyBkaXJlY3RJbnRlcm5ldEFjY2Vzcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkRpcmVjdEludGVybmV0QWNjZXNzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RG9tYWluSWRgLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpbklkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkRvbWFpbklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWluU2hhcmluZ091dHB1dEtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuYC5cblx0ICovXG5cdHN0YXRpYyBkb21haW5TaGFyaW5nT3V0cHV0S01TS2V5QVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkVuYWJsZVJlbW90ZURlYnVnYC5cblx0ICovXG5cdHN0YXRpYyBlbmFibGVSZW1vdGVEZWJ1Zyhcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOkVuYWJsZVJlbW90ZURlYnVnXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBEaXNhYmxlR2x1ZVRhYmxlQ3JlYXRpb24oXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdEJvb2w6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmVgLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWdgLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUNvbmZpZyhcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUNvbmZpZ1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS01TS2V5KFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5QXJuYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLTVNLZXlBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5QXJuXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlUzNVcmlgLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVVJJKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9ubGluZVN0b3JlS01TS2V5KFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwT25saW5lU3RvcmVLTVNLZXlBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm5cIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZWAuXG5cdCAqL1xuXHRzdGF0aWMgZmlsZVN5c3RlbUFjY2Vzc01vZGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoYC5cblx0ICovXG5cdHN0YXRpYyBmaWxlU3lzdGVtRGlyZWN0b3J5UGF0aChcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmlsZVN5c3RlbUlkYC5cblx0ICovXG5cdHN0YXRpYyBmaWxlU3lzdGVtSWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmlsZVN5c3RlbUlkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmlsZVN5c3RlbVR5cGVgLlxuXHQgKi9cblx0c3RhdGljIGZpbGVTeXN0ZW1UeXBlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6SG9tZUVmc0ZpbGVTeXN0ZW1LbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIGhvbWVFRlNGaWxlU3lzdGVtS01TS2V5KFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6SG9tZUVmc0ZpbGVTeXN0ZW1LbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpJbWFnZUFybnNgLlxuXHQgKi9cblx0c3RhdGljIGltYWdlQXJucyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6QXJuRXF1YWxzXCI6IHsgXCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNgLlxuXHQgKi9cblx0c3RhdGljIGltYWdlVmVyc2lvbkFybnMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOkFybkVxdWFsc1wiOiB7IFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc2AuXG5cdCAqL1xuXHRzdGF0aWMgaW5zdGFuY2VUeXBlcyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiOiB2YWx1ZXMgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uYC5cblx0ICovXG5cdHN0YXRpYyBpbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOklzVXBkYXRlUmVjb3JkYC5cblx0ICovXG5cdHN0YXRpYyBpc1VwZGF0ZVJlY29yZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOklzVXBkYXRlUmVjb3JkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kYC5cblx0ICovXG5cdHN0YXRpYyBrZWVwQWxpdmVQZXJpb2QoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc2AuXG5cdCAqL1xuXHRzdGF0aWMgbWF4UnVudGltZUluU2Vjb25kcyhcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvbmAuXG5cdCAqL1xuXHRzdGF0aWMgbWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvbihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uXCI6IHZhbHVlLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzYC5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEFwcHJvdmFsU3RhdHVzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6TW9kZWxBcHByb3ZhbFN0YXR1c1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk1vZGVsQXJuYC5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEFSTih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpNb2RlbEFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlYC5cblx0ICovXG5cdHN0YXRpYyBtb2RlbExpZmVDeWNsZVN0YWdlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c2AuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxMaWZlQ3ljbGVTdGFnZVN0YXR1cyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgbmV0d29ya0lzb2xhdGlvbihcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuc2AuXG5cdCAqL1xuXHRzdGF0aWMgbm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOkFybkVxdWFsc1wiOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOk5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6T3V0cHV0S21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyBvdXRwdXRLTVNLZXkodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuYC5cblx0ICovXG5cdHN0YXRpYyBvdXRwdXRLTVNLZXlBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuYC5cblx0ICovXG5cdHN0YXRpYyBvd25lclVzZXJQcm9maWxlQVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkYC5cblx0ICovXG5cdHN0YXRpYyBwaXBlbGluZVZlcnNpb25JZChcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6UmVtb3RlQWNjZXNzYC5cblx0ICovXG5cdHN0YXRpYyByZW1vdGVBY2Nlc3ModmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6UmVtb3RlQWNjZXNzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Um9vdEFjY2Vzc2AuXG5cdCAqL1xuXHRzdGF0aWMgcm9vdEFjY2Vzcyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpSb290QWNjZXNzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6U2VhcmNoVmlzaWJpbGl0eUNvbmRpdGlvbi8ke0ZpbHRlcktleX1gLlxuXHQgKi9cblx0c3RhdGljIHNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHtcblx0XHRcdFx0XCJzYWdlbWFrZXI6U2VhcmNoVmlzaWJpbGl0eUNvbmRpdGlvbi8ke0ZpbHRlcktleX1cIjogdmFsdWUsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeWAuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmVybGVzc01heENvbmN1cnJlbmN5KFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlNlcnZlcmxlc3NNZW1vcnlTaXplYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2ZXJsZXNzTWVtb3J5U2l6ZShcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcInNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWVtb3J5U2l6ZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVgLlxuXHQgKi9cblx0c3RhdGljIHNwYWNlU2hhcmluZ1R5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc2AuXG5cdCAqL1xuXHRzdGF0aWMgc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJucyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6QXJuRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlRhZ2dpbmdBY3Rpb25gLlxuXHQgKi9cblx0c3RhdGljIHRhZ2dpbmdBY3Rpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6VGFnZ2luZ0FjdGlvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlRhcmdldE1vZGVsYC5cblx0ICovXG5cdHN0YXRpYyB0YXJnZXRNb2RlbCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpUYXJnZXRNb2RlbFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlVwZGF0YWJsZUZlYXR1cmVzYC5cblx0ICovXG5cdHN0YXRpYyB1cGRhdGFibGVGZWF0dXJlcyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJzYWdlbWFrZXI6VXBkYXRhYmxlRmVhdHVyZXNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6VXNlclByb2ZpbGVOYW1lYC5cblx0ICovXG5cdHN0YXRpYyB1c2VyUHJvZmlsZU5hbWUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpVc2VyUHJvZmlsZU5hbWVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIHZvbHVtZUtNU0tleSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5gLlxuXHQgKi9cblx0c3RhdGljIHZvbHVtZUtNU0tleUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNgLlxuXHQgKi9cblx0c3RhdGljIHZwY1NlY3VyaXR5R3JvdXBJZHMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6VnBjU3VibmV0c2AuXG5cdCAqL1xuXHRzdGF0aWMgdnBjU3VibmV0cyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOldvcmt0ZWFtQXJuYC5cblx0ICovXG5cdHN0YXRpYyB3b3JrdGVhbUFSTih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpXb3JrdGVhbUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOldvcmt0ZWFtVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgd29ya3RlYW1UeXBlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOldvcmt0ZWFtVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==
6252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FnZW1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zYWdlbWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCOztBQUE3Qiw0Q0E2OENDOzs7QUE1OENBLDhCQUE4QjtBQUNkLCtCQUFjLEdBQUcsV0FBVyxDQUFDO0FBRTdDLDBDQUEwQztBQUMxQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCxrQ0FBa0M7QUFDbEIsd0JBQU8sR0FBRyxtQkFBbUIsQ0FBQztBQUM5QyxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsZ0RBQWdEO0FBQ2hDLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2Qyx1Q0FBdUM7QUFDdkIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxzQ0FBc0M7QUFDdEIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0Qyx5Q0FBeUM7QUFDekIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7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QUFzRTtBQUN0RCxnREFBNEIsR0FDM0MscUNBQXFDLENBQUM7QUFDdkMsc0RBQXNEO0FBQ3RDLGtDQUFjLEdBQUcseUJBQXlCLENBQUM7QUFDM0Qsb0RBQW9EO0FBQ3BDLGdDQUFZLEdBQUcsdUJBQXVCLENBQUM7QUFDdkQsaUVBQWlFO0FBQ2pELHNDQUFrQixHQUFHLDZCQUE2QixDQUFDO0FBQ25FLHdEQUF3RDtBQUN4QyxxQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSxrREFBa0Q7QUFDbEMsa0NBQWMsR0FBRyx3QkFBd0IsQ0FBQztBQUMxRCxxREFBcUQ7QUFDckMsc0NBQWtCLEdBQUcsMkJBQTJCLENBQUM7QUFDakUsbUVBQW1FO0FBQ25ELDBDQUFzQixHQUFHLCtCQUErQixDQUFDO0FBQ3pFLDBEQUEwRDtBQUMxQywrQkFBVyxHQUFHLHNCQUFzQixDQUFDO0FBQ3JELGlEQUFpRDtBQUNqQyxnQ0FBWSxHQUFHLHVCQUF1QixDQUFDO0FBQ3ZELHFEQUFxRDtBQUNyQyxpQ0FBYSxHQUFHLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2Uvc2FnZW1ha2VyLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBzYWdlbWFrZXIgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNhZ2VNYWtlckFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJzYWdlbWFrZXJcIjtcblxuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpBY2Nlc3NNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2Vzc01vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOkFjY2Vzc01vZGVsUGFja2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QWRkQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZEFzc29jaWF0aW9uID0gXCJzYWdlbWFrZXI6QWRkQXNzb2NpYXRpb25cIjtcblx0LyoqIFtUYWdnaW5nXSBzYWdlbWFrZXI6QWRkVGFncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFncyA9IFwic2FnZW1ha2VyOkFkZFRhZ3NcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkFzc29jaWF0ZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUcmlhbENvbXBvbmVudCA9IFwic2FnZW1ha2VyOkFzc29jaWF0ZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpBdHRhY2hDbHVzdGVyTm9kZVZvbHVtZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWUgPSBcInNhZ2VtYWtlcjpBdHRhY2hDbHVzdGVyTm9kZVZvbHVtZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hBZGRDbHVzdGVyTm9kZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQWRkQ2x1c3Rlck5vZGVzID0gXCJzYWdlbWFrZXI6QmF0Y2hBZGRDbHVzdGVyTm9kZXNcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUNsdXN0ZXJOb2RlcyA9IFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UgPVxuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6QmF0Y2hHZXRNZXRyaWNzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldE1ldHJpY3MgPSBcInNhZ2VtYWtlcjpCYXRjaEdldE1ldHJpY3NcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6QmF0Y2hHZXRSZWNvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UmVjb3JkID0gXCJzYWdlbWFrZXI6QmF0Y2hHZXRSZWNvcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkJhdGNoUHV0TWV0cmljcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hQdXRNZXRyaWNzID0gXCJzYWdlbWFrZXI6QmF0Y2hQdXRNZXRyaWNzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaFJlYm9vdENsdXN0ZXJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXMgPSBcInNhZ2VtYWtlcjpCYXRjaFJlYm9vdENsdXN0ZXJOb2Rlc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFJlcGxhY2VDbHVzdGVyTm9kZXMgPVxuXHRcdFwic2FnZW1ha2VyOkJhdGNoUmVwbGFjZUNsdXN0ZXJOb2Rlc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hXcml0ZVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hXcml0ZVJlY29yZCA9IFwic2FnZW1ha2VyOkJhdGNoV3JpdGVSZWNvcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNhbGxNbGZsb3dBcHBBcGkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxNbGZsb3dBcHBBcGkgPSBcInNhZ2VtYWtlcjpDYWxsTWxmbG93QXBwQXBpXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDYWxsUGFydG5lckFwcEFwaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FsbFBhcnRuZXJBcHBBcGkgPSBcInNhZ2VtYWtlcjpDYWxsUGFydG5lckFwcEFwaVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBDYWxsV2l0aEJlYXJlclRva2VuID0gXCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q29tcGxldGVSb2xsb3V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDb21wbGV0ZVJvbGxvdXQgPSBcInNhZ2VtYWtlcjpDb21wbGV0ZVJvbGxvdXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFJQmVuY2htYXJrSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSUJlbmNobWFya0pvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUFJQmVuY2htYXJrSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBSVdvcmtsb2FkQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnID0gXCJzYWdlbWFrZXI6Q3JlYXRlQUlXb3JrbG9hZENvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY3Rpb24gPSBcInNhZ2VtYWtlcjpDcmVhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFsZ29yaXRobSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWxnb3JpdGhtID0gXCJzYWdlbWFrZXI6Q3JlYXRlQWxnb3JpdGhtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcCA9IFwic2FnZW1ha2VyOkNyZWF0ZUFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcEltYWdlQ29uZmlnID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcnRpZmFjdCA9IFwic2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYlYyID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iVjJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDb2RlUmVwb3NpdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpDcmVhdGVDb2RlUmVwb3NpdG9yeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29tcGlsYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNvbXB1dGVRdW90YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250ZXh0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29udGV4dFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRGV2aWNlRmxlZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluID0gXCJzYWdlbWFrZXI6Q3JlYXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRWRnZURlcGxveW1lbnRQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFZGdlUGFja2FnaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlRWRnZVBhY2thZ2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50ID0gXCJzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50Q29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludENvbmZpZyA9IFwic2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50Q29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6Q3JlYXRlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGZWF0dXJlR3JvdXAgPSBcInNhZ2VtYWtlcjpDcmVhdGVGZWF0dXJlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUZsb3dEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93RGVmaW5pdGlvbiA9IFwic2FnZW1ha2VyOkNyZWF0ZUZsb3dEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YiA9IFwic2FnZW1ha2VyOkNyZWF0ZUh1YlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHMgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh1YkNvbnRlbnRQcmVzaWduZWRVcmxzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHVtYW5UYXNrVWkgPSBcInNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlID0gXCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUltYWdlVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW1hZ2VWZXJzaW9uID0gXCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUNvbXBvbmVudCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50ID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhYmVsaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUxpbmVhZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGluZWFnZUdyb3VwUG9saWN5ID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVMaW5lYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1sZmxvd0FwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93QXBwID0gXCJzYWdlbWFrZXI6Q3JlYXRlTWxmbG93QXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWwgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxDYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmQgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDYXJkRXhwb3J0Sm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlID0gXCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXAgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGUgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSA9IFwic2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0aW1pemF0aW9uSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlT3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwID0gXCJzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUGlwZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6Q3JlYXRlUGlwZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZERvbWFpblVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWREb21haW5VcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmwgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByb2Nlc3NpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2Nlc3NpbmdKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVQcm9jZXNzaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9qZWN0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSA9IFwic2FnZW1ha2VyOkNyZWF0ZVJlc2VydmVkQ2FwYWNpdHlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVNoYXJlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTaGFyZWRNb2RlbCA9IFwic2FnZW1ha2VyOkNyZWF0ZVNoYXJlZE1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3BhY2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVRyYWluaW5nUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdQbGFuID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVUcmFuc2Zvcm1Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYW5zZm9ybUpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZVRyYW5zZm9ybUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJpYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJpYWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbENvbXBvbmVudCA9IFwic2FnZW1ha2VyOkNyZWF0ZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVVc2VyUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlclByb2ZpbGUgPSBcInNhZ2VtYWtlcjpDcmVhdGVVc2VyUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlV29ya2ZvcmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrZm9yY2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVXb3JrZm9yY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrdGVhbSA9IFwic2FnZW1ha2VyOkNyZWF0ZVdvcmt0ZWFtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBSUJlbmNobWFya0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlCZW5jaG1hcmtKb2IgPSBcInNhZ2VtYWtlcjpEZWxldGVBSUJlbmNobWFya0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQUlXb3JrbG9hZENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlXb3JrbG9hZENvbmZpZyA9IFwic2FnZW1ha2VyOkRlbGV0ZUFJV29ya2xvYWRDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWN0aW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBbGdvcml0aG0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFsZ29yaXRobSA9IFwic2FnZW1ha2VyOkRlbGV0ZUFsZ29yaXRobVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHAgPSBcInNhZ2VtYWtlcjpEZWxldGVBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFwcEltYWdlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBJbWFnZUNvbmZpZyA9IFwic2FnZW1ha2VyOkRlbGV0ZUFwcEltYWdlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXJ0aWZhY3QgPSBcInNhZ2VtYWtlcjpEZWxldGVBcnRpZmFjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc29jaWF0aW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDb2RlUmVwb3NpdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpEZWxldGVDb2RlUmVwb3NpdG9yeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29tcGlsYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNvbXB1dGVRdW90YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcHV0ZVF1b3RhID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb250ZXh0ID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29udGV4dFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRGV2aWNlRmxlZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURldmljZUZsZWV0ID0gXCJzYWdlbWFrZXI6RGVsZXRlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluID0gXCJzYWdlbWFrZXI6RGVsZXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVkZ2VEZXBsb3ltZW50UGxhbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRWRnZURlcGxveW1lbnRQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZHBvaW50Q29uZmlnID0gXCJzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpEZWxldGVFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVGZWF0dXJlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZlYXR1cmVHcm91cCA9IFwic2FnZW1ha2VyOkRlbGV0ZUZlYXR1cmVHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRmxvd0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dEZWZpbml0aW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlRmxvd0RlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh1YiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViID0gXCJzYWdlbWFrZXI6RGVsZXRlSHViXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWJDb250ZW50ID0gXCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFJlZmVyZW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHVtYW5Mb29wICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpEZWxldGVIdW1hbkxvb3BcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh1bWFuVGFza1VpICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdW1hblRhc2tVaSA9IFwic2FnZW1ha2VyOkRlbGV0ZUh1bWFuVGFza1VpXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1hZ2UgPSBcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSW1hZ2VWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbWFnZVZlcnNpb24gPSBcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUNvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVMaW5lYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxpbmVhZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTGluZWFnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNbGZsb3dBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd0FwcCA9IFwic2FnZW1ha2VyOkRlbGV0ZU1sZmxvd0FwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsQ2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxDYXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wdGltaXphdGlvbkpvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZU9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUGFydG5lckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGFydG5lckFwcCA9IFwic2FnZW1ha2VyOkRlbGV0ZVBhcnRuZXJBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVBpcGVsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQaXBlbGluZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVBpcGVsaW5lXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVQcm9jZXNzaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9jZXNzaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlUHJvY2Vzc2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvamVjdCA9IFwic2FnZW1ha2VyOkRlbGV0ZVByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3JkID0gXCJzYWdlbWFrZXI6RGVsZXRlUmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3kgPSBcInNhZ2VtYWtlcjpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlU3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNwYWNlID0gXCJzYWdlbWFrZXI6RGVsZXRlU3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtUYWdnaW5nXSBzYWdlbWFrZXI6RGVsZXRlVGFncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFncyA9IFwic2FnZW1ha2VyOkRlbGV0ZVRhZ3NcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZVRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVUcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpYWwgPSBcInNhZ2VtYWtlcjpEZWxldGVUcmlhbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6RGVsZXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyUHJvZmlsZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVVzZXJQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVXb3JrZm9yY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmb3JjZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVdvcmtmb3JjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6RGVsZXRlV29ya3RlYW1cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlcGxveUh1Yk1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXBsb3lIdWJNb2RlbCA9IFwic2FnZW1ha2VyOkRlcGxveUh1Yk1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZXJlZ2lzdGVyRGV2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlckRldmljZXMgPSBcInNhZ2VtYWtlcjpEZXJlZ2lzdGVyRGV2aWNlc1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFJQmVuY2htYXJrSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFJQmVuY2htYXJrSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBSUJlbmNobWFya0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQUlXb3JrbG9hZENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJV29ya2xvYWRDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWN0aW9uID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBY3Rpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBbGdvcml0aG0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWxnb3JpdGhtID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBbGdvcml0aG1cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBcHBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBcHBJbWFnZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBJbWFnZUNvbmZpZyA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXBwSW1hZ2VDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcnRpZmFjdCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXJ0aWZhY3RcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXV0b01MSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2JWMiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iVjJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlckV2ZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyRXZlbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVySW5mZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJJbmZlcmVuY2UgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlckluZmVyZW5jZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJOb2RlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJOb2RlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyTm9kZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29kZVJlcG9zaXRvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNvZGVSZXBvc2l0b3J5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcGlsYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNvbXBpbGF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29tcHV0ZVF1b3RhICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXB1dGVRdW90YSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29udGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb250ZXh0ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDb250ZXh0XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGV2aWNlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2VGbGVldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZXZpY2VGbGVldCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9tYWluID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVEb21haW5cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWRnZURlcGxveW1lbnRQbGFuID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRDb25maWcgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50Q29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVFeHBlcmltZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVHcm91cCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZUdyb3VwXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZU1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVNZXRhZGF0YSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZU1ldGFkYXRhXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRmxvd0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxvd0RlZmluaXRpb24gPSBcInNhZ2VtYWtlcjpEZXNjcmliZUZsb3dEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHViICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1YiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSHViXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdWJDb250ZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJDb250ZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5Mb29wICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1bWFuTG9vcCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5Mb29wXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5UYXNrVWkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHVtYW5UYXNrVWkgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUh1bWFuVGFza1VpXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbWFnZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSW1hZ2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW1hZ2VWZXJzaW9uID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYlNjaGVtYVZlcnNpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSm9iU2NoZW1hVmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUxhYmVsaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxhYmVsaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVMYWJlbGluZ0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUxpbmVhZ2VHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaW5lYWdlR3JvdXAgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUxpbmVhZ2VHcm91cFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd0FwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dBcHAgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd0FwcFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWwgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGUgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RlYm9va0luc3RhbmNlID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRpbWl6YXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBhcnRuZXJBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGFydG5lckFwcCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlUGFydG5lckFwcFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQcm9jZXNzaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2Nlc3NpbmdKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVByb2Nlc3NpbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2plY3QgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVByb2plY3RcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHkgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVNoYXJlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNoYXJlZE1vZGVsID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVTaGFyZWRNb2RlbFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNwYWNlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVTcGFjZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW1cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdQbGFuID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3RvcnkgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyYW5zZm9ybUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFuc2Zvcm1Kb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVRyYW5zZm9ybUpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyaWFsID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbENvbXBvbmVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXJQcm9maWxlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVVc2VyUHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVdvcmtmb3JjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3JrZm9yY2UgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVdvcmtmb3JjZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVXb3JrdGVhbVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaENsdXN0ZXJOb2RlVm9sdW1lID0gXCJzYWdlbWFrZXI6RGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvID1cblx0XHRcInNhZ2VtYWtlcjpEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudCA9XG5cdFx0XCJzYWdlbWFrZXI6RGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyA9XG5cdFx0XCJzYWdlbWFrZXI6RW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkV4dGVuZFRyYWluaW5nUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXh0ZW5kVHJhaW5pbmdQbGFuID0gXCJzYWdlbWFrZXI6RXh0ZW5kVHJhaW5pbmdQbGFuXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldERlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXBsb3ltZW50cyA9IFwic2FnZW1ha2VyOkdldERlcGxveW1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldERldmljZUZsZWV0UmVwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXZpY2VGbGVldFJlcG9ydCA9IFwic2FnZW1ha2VyOkdldERldmljZUZsZWV0UmVwb3J0XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldERldmljZVJlZ2lzdHJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGV2aWNlUmVnaXN0cmF0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpHZXREZXZpY2VSZWdpc3RyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0TGluZWFnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRMaW5lYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOkdldExpbmVhZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb3JkID0gXCJzYWdlbWFrZXI6R2V0UmVjb3JkXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVBvbGljeSA9IFwic2FnZW1ha2VyOkdldFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1cyA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRTZWFyY2hTdWdnZXN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VhcmNoU3VnZ2VzdGlvbnMgPSBcInNhZ2VtYWtlcjpHZXRTZWFyY2hTdWdnZXN0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0SHViQ29udGVudCA9IFwic2FnZW1ha2VyOkltcG9ydEh1YkNvbnRlbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50ID0gXCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRBc3luYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRBc3luYyA9IFwic2FnZW1ha2VyOkludm9rZUVuZHBvaW50QXN5bmNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRXaXRoUmVzcG9uc2VTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtID1cblx0XHRcInNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QUlCZW5jaG1hcmtKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QUlCZW5jaG1hcmtKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEFJQmVuY2htYXJrSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSVJlY29tbWVuZGF0aW9uSm9icyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBSVdvcmtsb2FkQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJV29ya2xvYWRDb25maWdzID0gXCJzYWdlbWFrZXI6TGlzdEFJV29ya2xvYWRDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0aW9ucyA9IFwic2FnZW1ha2VyOkxpc3RBY3Rpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxnb3JpdGhtcyA9IFwic2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBbGlhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxpYXNlcyA9IFwic2FnZW1ha2VyOkxpc3RBbGlhc2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBcHBJbWFnZUNvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbWFnZUNvbmZpZ3MgPSBcInNhZ2VtYWtlcjpMaXN0QXBwSW1hZ2VDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBcHBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwcyA9IFwic2FnZW1ha2VyOkxpc3RBcHBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBcnRpZmFjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcnRpZmFjdHMgPSBcInNhZ2VtYWtlcjpMaXN0QXJ0aWZhY3RzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnMgPSBcInNhZ2VtYWtlcjpMaXN0QXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBdXRvTUxKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b01MSm9icyA9IFwic2FnZW1ha2VyOkxpc3RBdXRvTUxKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2JcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyRXZlbnRzID0gXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJFdmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJOb2RlcyA9IFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyTm9kZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3MgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlnc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q2x1c3RlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVycyA9IFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29kZVJlcG9zaXRvcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvZGVSZXBvc2l0b3JpZXMgPSBcInNhZ2VtYWtlcjpMaXN0Q29kZVJlcG9zaXRvcmllc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29tcGlsYXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcGlsYXRpb25Kb2JzID0gXCJzYWdlbWFrZXI6TGlzdENvbXBpbGF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29tcHV0ZVF1b3RhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXB1dGVRdW90YXMgPSBcInNhZ2VtYWtlcjpMaXN0Q29tcHV0ZVF1b3Rhc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29udGV4dHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb250ZXh0cyA9IFwic2FnZW1ha2VyOkxpc3RDb250ZXh0c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REZXZpY2VGbGVldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VGbGVldHMgPSBcInNhZ2VtYWtlcjpMaXN0RGV2aWNlRmxlZXRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGV2aWNlcyA9IFwic2FnZW1ha2VyOkxpc3REZXZpY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REb21haW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9tYWlucyA9IFwic2FnZW1ha2VyOkxpc3REb21haW5zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFZGdlRGVwbG95bWVudFBsYW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZURlcGxveW1lbnRQbGFucyA9IFwic2FnZW1ha2VyOkxpc3RFZGdlRGVwbG95bWVudFBsYW5zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFZGdlUGFja2FnaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVkZ2VQYWNrYWdpbmdKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEVkZ2VQYWNrYWdpbmdKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFbmRwb2ludENvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmRwb2ludENvbmZpZ3MgPSBcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFbmRwb2ludHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmRwb2ludHMgPSBcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFeHBlcmltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cGVyaW1lbnRzID0gXCJzYWdlbWFrZXI6TGlzdEV4cGVyaW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RGZWF0dXJlR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmVhdHVyZUdyb3VwcyA9IFwic2FnZW1ha2VyOkxpc3RGZWF0dXJlR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RGbG93RGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbG93RGVmaW5pdGlvbnMgPSBcInNhZ2VtYWtlcjpMaXN0Rmxvd0RlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdWJDb250ZW50VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJDb250ZW50VmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0SHViQ29udGVudFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdWJDb250ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1YkNvbnRlbnRzID0gXCJzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdWJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVicyA9IFwic2FnZW1ha2VyOkxpc3RIdWJzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdW1hbkxvb3BzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5Mb29wcyA9IFwic2FnZW1ha2VyOkxpc3RIdW1hbkxvb3BzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdW1hblRhc2tVaXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdW1hblRhc2tVaXMgPSBcInNhZ2VtYWtlcjpMaXN0SHVtYW5UYXNrVWlzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEltYWdlVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZVZlcnNpb25zID0gXCJzYWdlbWFrZXI6TGlzdEltYWdlVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEltYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltYWdlcyA9IFwic2FnZW1ha2VyOkxpc3RJbWFnZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUNvbXBvbmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VDb21wb25lbnRzID0gXCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUNvbXBvbmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlRXhwZXJpbWVudHMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VFeHBlcmltZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9icyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEpvYlNjaGVtYVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm9iU2NoZW1hVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0Sm9iU2NoZW1hVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9icyA9IFwic2FnZW1ha2VyOkxpc3RMYWJlbGluZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW0gPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TGluZWFnZUdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExpbmVhZ2VHcm91cHMgPSBcInNhZ2VtYWtlcjpMaXN0TGluZWFnZUdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TWxmbG93QXBwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd0FwcHMgPSBcInNhZ2VtYWtlcjpMaXN0TWxmbG93QXBwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRFeHBvcnRKb2JzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsTWV0YWRhdGEgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxNZXRhZGF0YVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxQYWNrYWdlR3JvdXBzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsUGFja2FnZUdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUGFja2FnZXMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbHMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeSA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnlcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb25pdG9yaW5nQWxlcnRzID0gXCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nRXhlY3V0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ1NjaGVkdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdTY2hlZHVsZXMgPSBcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ1NjaGVkdWxlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlncyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3ROb3RlYm9va0luc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VzID0gXCJzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RPcHRpbWl6YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3B0aW1pemF0aW9uSm9icyA9IFwic2FnZW1ha2VyOkxpc3RPcHRpbWl6YXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQYXJ0bmVyQXBwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJBcHBzID0gXCJzYWdlbWFrZXI6TGlzdFBhcnRuZXJBcHBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwcyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lRXhlY3V0aW9ucyA9IFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvblwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVzID0gXCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UHJvY2Vzc2luZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9jZXNzaW5nSm9icyA9IFwic2FnZW1ha2VyOkxpc3RQcm9jZXNzaW5nSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UHJvamVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9qZWN0cyA9IFwic2FnZW1ha2VyOkxpc3RQcm9qZWN0c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29yZHMgPSBcInNhZ2VtYWtlcjpMaXN0UmVjb3Jkc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UmVzb3VyY2VDYXRhbG9ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlQ2F0YWxvZ3MgPSBcInNhZ2VtYWtlcjpMaXN0UmVzb3VyY2VDYXRhbG9nc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTaGFyZWRNb2RlbEV2ZW50cyA9IFwic2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbEV2ZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNoYXJlZE1vZGVsVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmVkTW9kZWxzID0gXCJzYWdlbWFrZXI6TGlzdFNoYXJlZE1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3BhY2VzID0gXCJzYWdlbWFrZXI6TGlzdFNwYWNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3RhZ2VEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RhZ2VEZXZpY2VzID0gXCJzYWdlbWFrZXI6TGlzdFN0YWdlRGV2aWNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3MgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTdWJzY3JpYmVkV29ya3RlYW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3Vic2NyaWJlZFdvcmt0ZWFtcyA9IFwic2FnZW1ha2VyOkxpc3RTdWJzY3JpYmVkV29ya3RlYW1zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFncyA9IFwic2FnZW1ha2VyOkxpc3RUYWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ0pvYnMgPSBcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyYWluaW5nUGxhbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ1BsYW5zID0gXCJzYWdlbWFrZXI6TGlzdFRyYWluaW5nUGxhbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFuc2Zvcm1Kb2JzID0gXCJzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyaWFsQ29tcG9uZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWFsQ29tcG9uZW50cyA9IFwic2FnZW1ha2VyOkxpc3RUcmlhbENvbXBvbmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyaWFscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWFscyA9IFwic2FnZW1ha2VyOkxpc3RUcmlhbHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eSA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VXNlclByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VXNlclByb2ZpbGVzID0gXCJzYWdlbWFrZXI6TGlzdFVzZXJQcm9maWxlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0V29ya2ZvcmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmtmb3JjZXMgPSBcInNhZ2VtYWtlcjpMaXN0V29ya2ZvcmNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0V29ya3RlYW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya3RlYW1zID0gXCJzYWdlbWFrZXI6TGlzdFdvcmt0ZWFtc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UHV0TGluZWFnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRMaW5lYWdlR3JvdXBQb2xpY3kgPSBcInNhZ2VtYWtlcjpQdXRMaW5lYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6UHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlB1dFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkID0gXCJzYWdlbWFrZXI6UHV0UmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpQdXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3kgPSBcInNhZ2VtYWtlcjpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpRdWVyeUxpbmVhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFF1ZXJ5TGluZWFnZSA9IFwic2FnZW1ha2VyOlF1ZXJ5TGluZWFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UmVnaXN0ZXJEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckRldmljZXMgPSBcInNhZ2VtYWtlcjpSZWdpc3RlckRldmljZXNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6UmVuZGVyVWlUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVuZGVyVWlUZW1wbGF0ZSA9IFwic2FnZW1ha2VyOlJlbmRlclVpVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlJldHJ5UGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJ5UGlwZWxpbmVFeGVjdXRpb24gPSBcInNhZ2VtYWtlcjpSZXRyeVBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTYW1wbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNhbXBsZSA9IFwic2FnZW1ha2VyOlNhbXBsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBTYW1wbGVXaXRoUmVzcG9uc2VTdHJlYW0gPVxuXHRcdFwic2FnZW1ha2VyOlNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpTZWFyY2ggKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaCA9IFwic2FnZW1ha2VyOlNlYXJjaFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5ncyA9XG5cdFx0XCJzYWdlbWFrZXI6U2VhcmNoVHJhaW5pbmdQbGFuT2ZmZXJpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTZW5kSGVhcnRiZWF0ICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kSGVhcnRiZWF0ID0gXCJzYWdlbWFrZXI6U2VuZEhlYXJ0YmVhdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlID1cblx0XHRcInNhZ2VtYWtlcjpTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzID1cblx0XHRcInNhZ2VtYWtlcjpTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2Vzc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZFNoYXJlZE1vZGVsRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRTaGFyZWRNb2RlbEV2ZW50ID0gXCJzYWdlbWFrZXI6U2VuZFNoYXJlZE1vZGVsRXZlbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENsdXN0ZXJIZWFsdGhDaGVjayA9IFwic2FnZW1ha2VyOlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydEVkZ2VEZXBsb3ltZW50U3RhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZSA9XG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEluZmVyZW5jZUV4cGVyaW1lbnQgPVxuXHRcdFwic2FnZW1ha2VyOlN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TW9uaXRvcmluZ1NjaGVkdWxlID0gXCJzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0Tm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROb3RlYm9va0luc3RhbmNlID0gXCJzYWdlbWFrZXI6U3RhcnROb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydFBpcGVsaW5lRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFBpcGVsaW5lRXhlY3V0aW9uID0gXCJzYWdlbWFrZXI6U3RhcnRQaXBlbGluZUV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNlc3Npb24gPSBcInNhZ2VtYWtlcjpTdGFydFNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BBSUJlbmNobWFya0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJQmVuY2htYXJrSm9iID0gXCJzYWdlbWFrZXI6U3RvcEFJQmVuY2htYXJrSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJUmVjb21tZW5kYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEF1dG9NTEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEF1dG9NTEpvYiA9IFwic2FnZW1ha2VyOlN0b3BBdXRvTUxKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BDb21waWxhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcENvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6U3RvcENvbXBpbGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wRWRnZURlcGxveW1lbnRTdGFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEVkZ2VEZXBsb3ltZW50U3RhZ2UgPSBcInNhZ2VtYWtlcjpTdG9wRWRnZURlcGxveW1lbnRTdGFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEVkZ2VQYWNrYWdpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlUGFja2FnaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcEVkZ2VQYWNrYWdpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BIdW1hbkxvb3AgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpTdG9wSHVtYW5Mb29wXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6U3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6U3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEpvYiA9IFwic2FnZW1ha2VyOlN0b3BKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BMYWJlbGluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcExhYmVsaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcExhYmVsaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6U3RvcE1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTW9uaXRvcmluZ1NjaGVkdWxlID0gXCJzYWdlbWFrZXI6U3RvcE1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcE5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BOb3RlYm9va0luc3RhbmNlID0gXCJzYWdlbWFrZXI6U3RvcE5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BPcHRpbWl6YXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpTdG9wT3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wUGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQaXBlbGluZUV4ZWN1dGlvbiA9IFwic2FnZW1ha2VyOlN0b3BQaXBlbGluZUV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcFByb2Nlc3NpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQcm9jZXNzaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcFByb2Nlc3NpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BUcmFpbmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcFRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wVHJhbnNmb3JtSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhbnNmb3JtSm9iID0gXCJzYWdlbWFrZXI6U3RvcFRyYW5zZm9ybUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VHJhaW5IdWJNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVHJhaW5IdWJNb2RlbCA9IFwic2FnZW1ha2VyOlRyYWluSHViTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWN0aW9uID0gXCJzYWdlbWFrZXI6VXBkYXRlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVBcHBJbWFnZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwSW1hZ2VDb25maWcgPSBcInNhZ2VtYWtlcjpVcGRhdGVBcHBJbWFnZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFydGlmYWN0ID0gXCJzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVySW5mZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVySW5mZXJlbmNlID0gXCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlckluZmVyZW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU29mdHdhcmUgPSBcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU29mdHdhcmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb2RlUmVwb3NpdG9yeSA9IFwic2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDb21wdXRlUXVvdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbXB1dGVRdW90YSA9IFwic2FnZW1ha2VyOlVwZGF0ZUNvbXB1dGVRdW90YVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ29udGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGV4dCA9IFwic2FnZW1ha2VyOlVwZGF0ZUNvbnRleHRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZURldmljZUZsZWV0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXZpY2VGbGVldCA9IFwic2FnZW1ha2VyOlVwZGF0ZURldmljZUZsZWV0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXZpY2VzID0gXCJzYWdlbWFrZXI6VXBkYXRlRGV2aWNlc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb21haW4gPSBcInNhZ2VtYWtlcjpVcGRhdGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludCA9IFwic2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6VXBkYXRlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGZWF0dXJlR3JvdXAgPSBcInNhZ2VtYWtlcjpVcGRhdGVGZWF0dXJlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUZlYXR1cmVNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmVhdHVyZU1ldGFkYXRhID0gXCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZU1ldGFkYXRhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YiA9IFwic2FnZW1ha2VyOlVwZGF0ZUh1YlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViQ29udGVudCA9IFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZSA9IFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVJbWFnZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUltYWdlVmVyc2lvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTWxmbG93QXBwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dBcHAgPSBcInNhZ2VtYWtlcjpVcGRhdGVNbGZsb3dBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1vZGVsQ2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxDYXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOlVwZGF0ZU1vZGVsUGFja2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ0FsZXJ0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb25pdG9yaW5nQWxlcnQgPSBcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nQWxlcnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQYXJ0bmVyQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXJ0bmVyQXBwID0gXCJzYWdlbWFrZXI6VXBkYXRlUGFydG5lckFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZUV4ZWN1dGlvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lVmVyc2lvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdCA9IFwic2FnZW1ha2VyOlVwZGF0ZVByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVJld2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV3YXJkID0gXCJzYWdlbWFrZXI6VXBkYXRlUmV3YXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVTaGFyZWRNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2hhcmVkTW9kZWwgPSBcInNhZ2VtYWtlcjpVcGRhdGVTaGFyZWRNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlU3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNwYWNlID0gXCJzYWdlbWFrZXI6VXBkYXRlU3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOlVwZGF0ZVRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVUcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJpYWwgPSBcInNhZ2VtYWtlcjpVcGRhdGVUcmlhbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6VXBkYXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVVc2VyUHJvZmlsZSA9IFwic2FnZW1ha2VyOlVwZGF0ZVVzZXJQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVXb3JrZm9yY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtmb3JjZSA9IFwic2FnZW1ha2VyOlVwZGF0ZVdvcmtmb3JjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6VXBkYXRlV29ya3RlYW1cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkFjY2Vzc01vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaEdldE1ldHJpY3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaEdldFJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNhbGxXaXRoQmVhcmVyVG9rZW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJscyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQUlCZW5jaG1hcmtKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFJV29ya2xvYWRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFjdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQWxnb3JpdGhtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFwcEltYWdlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBcnRpZmFjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQXV0b01MSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBdXRvTUxKb2JWMixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3Rlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3RlckV2ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVySW5mZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVyTm9kZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ29kZVJlcG9zaXRvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNvbXBpbGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDb21wdXRlUXVvdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNvbnRleHQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRGV2aWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVEZXZpY2VGbGVldCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRG9tYWluLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVFbmRwb2ludENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRmVhdHVyZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVGZWF0dXJlTWV0YWRhdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUZsb3dEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVIdWIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh1YkNvbnRlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh1bWFuTG9vcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSHVtYW5UYXNrVWksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVJbWFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSW1hZ2VWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVMYWJlbGluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTGluZWFnZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNbGZsb3dBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxDYXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU9wdGltaXphdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGFydG5lckFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGlwZWxpbmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVByb2Nlc3NpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVByb2plY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVJlc2VydmVkQ2FwYWNpdHksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVNoYXJlZE1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVTcGFjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVUcmFpbmluZ1BsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3RvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYW5zZm9ybUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJpYWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVVc2VyUHJvZmlsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlV29ya2ZvcmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVXb3JrdGVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldERlcGxveW1lbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0RGV2aWNlRmxlZXRSZXBvcnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXREZXZpY2VSZWdpc3RyYXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRMaW5lYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldFJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRTY2FsaW5nQ29uZmlndXJhdGlvblJlY29tbWVuZGF0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0U2VhcmNoU3VnZ2VzdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5JbnZva2VFbmRwb2ludCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkludm9rZUVuZHBvaW50QXN5bmMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5JbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlJlbmRlclVpVGVtcGxhdGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZWFyY2gsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5BZGRBc3NvY2lhdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkFzc29jaWF0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaEFkZENsdXN0ZXJOb2Rlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hQdXRNZXRyaWNzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaFJlcGxhY2VDbHVzdGVyTm9kZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaFdyaXRlUmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ2FsbE1sZmxvd0FwcEFwaSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNhbGxQYXJ0bmVyQXBwQXBpLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ29tcGxldGVSb2xsb3V0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQUlCZW5jaG1hcmtKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQUlXb3JrbG9hZENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFjdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFsZ29yaXRobSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFwcEltYWdlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQXJ0aWZhY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBdXRvTUxKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBdXRvTUxKb2JWMixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNsdXN0ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ29kZVJlcG9zaXRvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDb21waWxhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNvbXB1dGVRdW90YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNvbnRleHQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVEZXZpY2VGbGVldCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZURvbWFpbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFZGdlUGFja2FnaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRW5kcG9pbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFbmRwb2ludENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVGZWF0dXJlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVGbG93RGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh1Yixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIdW1hblRhc2tVaSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSW1hZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbWFnZVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbmZlcmVuY2VDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTGFiZWxpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVMaW5lYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNbGZsb3dBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsQ2FyZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVPcHRpbWl6YXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQYXJ0bmVyQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVBpcGVsaW5lLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcmVzaWduZWROb3RlYm9va0luc3RhbmNlVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJvY2Vzc2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByb2plY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVSZXNlcnZlZENhcGFjaXR5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlU2hhcmVkTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVTcGFjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJhaW5pbmdQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJhbnNmb3JtSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJpYWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVVzZXJQcm9maWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlV29ya2ZvcmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBSUJlbmNobWFya0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBSVdvcmtsb2FkQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQWN0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQWxnb3JpdGhtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQXBwSW1hZ2VDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBcnRpZmFjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFzc29jaWF0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ2x1c3Rlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDb2RlUmVwb3NpdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNvbXBpbGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ29tcHV0ZVF1b3RhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ29udGV4dCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZURldmljZUZsZWV0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRG9tYWluLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRWRnZURlcGxveW1lbnRQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRWRnZURlcGxveW1lbnRTdGFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRW5kcG9pbnRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRmVhdHVyZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRmxvd0RlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIdWIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIdWJDb250ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh1bWFuTG9vcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh1bWFuVGFza1VpLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVJbWFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUltYWdlVmVyc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUluZmVyZW5jZUNvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVMaW5lYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNbGZsb3dBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsQ2FyZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVOb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU9wdGltaXphdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVBhcnRuZXJBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVQaXBlbGluZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVByb2Nlc3NpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVQcm9qZWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVTcGFjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlVHJpYWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVVzZXJQcm9maWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlV29ya2ZvcmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXBsb3lIdWJNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlcmVnaXN0ZXJEZXZpY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRXh0ZW5kVHJhaW5pbmdQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuSW1wb3J0SHViQ29udGVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlB1dExpbmVhZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUHV0UmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUHV0UmVzb3VyY2VQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5SZWdpc3RlckRldmljZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5SZXRyeVBpcGVsaW5lRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2FtcGxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2VuZEhlYXJ0YmVhdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZW5kU2hhcmVkTW9kZWxFdmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRIdW1hbkxvb3AsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydEluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydE1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydE5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydFBpcGVsaW5lRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRTZXNzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEFJQmVuY2htYXJrSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEFJUmVjb21tZW5kYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wQXV0b01MSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcENvbXBpbGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEVkZ2VEZXBsb3ltZW50U3RhZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wRWRnZVBhY2thZ2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BIdW1hbkxvb3AsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcExhYmVsaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcE1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcE1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BOb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcE9wdGltaXphdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BQaXBlbGluZUV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BQcm9jZXNzaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcFRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcFRyYW5zZm9ybUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlRyYWluSHViTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVBY3Rpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVBcHBJbWFnZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUFydGlmYWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ2x1c3Rlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNsdXN0ZXJJbmZlcmVuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ2x1c3RlclNvZnR3YXJlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ29kZVJlcG9zaXRvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDb21wdXRlUXVvdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDb250ZXh0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRGV2aWNlRmxlZXQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVEZXZpY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRG9tYWluLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRW5kcG9pbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUZlYXR1cmVHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUZlYXR1cmVNZXRhZGF0YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUh1Yixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUh1YkNvbnRlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVIdWJDb250ZW50UmVmZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSW1hZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbWFnZVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbmZlcmVuY2VDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1sZmxvd0FwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTW9kZWxDYXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTW9uaXRvcmluZ0FsZXJ0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVQYXJ0bmVyQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUGlwZWxpbmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVQaXBlbGluZUV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVBpcGVsaW5lVmVyc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVByb2plY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVSZXdhcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVTaGFyZWRNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVNwYWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlVHJhaW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVUcmlhbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlVXNlclByb2ZpbGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVXb3JrZm9yY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVXb3JrdGVhbSxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QUlCZW5jaG1hcmtKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFJV29ya2xvYWRDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFjdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QWxnb3JpdGhtcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBbGlhc2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFwcEltYWdlQ29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBcHBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFydGlmYWN0cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBc3NvY2lhdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QXV0b01MSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENsdXN0ZXJFdmVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q2x1c3Rlck5vZGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENsdXN0ZXJzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENvZGVSZXBvc2l0b3JpZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q29tcGlsYXRpb25Kb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENvbXB1dGVRdW90YXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q29udGV4dHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3REZXZpY2VGbGVldHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RGV2aWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3REb21haW5zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEVkZ2VEZXBsb3ltZW50UGxhbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RWRnZVBhY2thZ2luZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RW5kcG9pbnRDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEVuZHBvaW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RFeHBlcmltZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RGZWF0dXJlR3JvdXBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEZsb3dEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIdWJDb250ZW50VmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHViQ29udGVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHVicyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIdW1hbkxvb3BzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh1bWFuVGFza1Vpcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW1hZ2VWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbWFnZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW5mZXJlbmNlQ29tcG9uZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbmZlcmVuY2VFeHBlcmltZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEpvYlNjaGVtYVZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TGFiZWxpbmdKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdExpbmVhZ2VHcm91cHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TWxmbG93QXBwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxDYXJkRXhwb3J0Sm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbENhcmRWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbENhcmRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbE1ldGFkYXRhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsUGFja2FnZUdyb3Vwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbFBhY2thZ2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVscyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vbml0b3JpbmdBbGVydHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9uaXRvcmluZ1NjaGVkdWxlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3ROb3RlYm9va0luc3RhbmNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RPcHRpbWl6YXRpb25Kb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBhcnRuZXJBcHBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGlwZWxpbmVFeGVjdXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQaXBlbGluZVZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQcm9jZXNzaW5nSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQcm9qZWN0cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RSZWNvcmRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFJlc291cmNlQ2F0YWxvZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U2hhcmVkTW9kZWxFdmVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U2hhcmVkTW9kZWxWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTaGFyZWRNb2RlbHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U3BhY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFN0YWdlRGV2aWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFN1YnNjcmliZWRXb3JrdGVhbXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VGFncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmFpbmluZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJhaW5pbmdQbGFucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmFuc2Zvcm1Kb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyaWFsQ29tcG9uZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmlhbHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFVzZXJQcm9maWxlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RXb3JrZm9yY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFdvcmt0ZWFtcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlF1ZXJ5TGluZWFnZSxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5BZGRUYWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlVGFncyxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWN0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEFjdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFjdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFjdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWN0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFjdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFpLWJlbmNobWFyay1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpQmVuY2htYXJrSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEFJQmVuY2htYXJrSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWlCZW5jaG1hcmtKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWktYmVuY2htYXJrLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlCZW5jaG1hcmtKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFJQmVuY2htYXJrSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFpQmVuY2htYXJrSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWktcmVjb21tZW5kYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaVJlY29tbWVuZGF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEFJUmVjb21tZW5kYXRpb25Kb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhaVJlY29tbWVuZGF0aW9uSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFpLXJlY29tbWVuZGF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlSZWNvbW1lbmRhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQUlSZWNvbW1lbmRhdGlvbkpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhaVJlY29tbWVuZGF0aW9uSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWktd29ya2xvYWQtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaVdvcmtsb2FkQ29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIEFJV29ya2xvYWRDb25maWdOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhaVdvcmtsb2FkQ29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFpLXdvcmtsb2FkLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlXb3JrbG9hZENvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQUlXb3JrbG9hZENvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhaVdvcmtsb2FkQ29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWxnb3JpdGhtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBbGdvcml0aG1Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWxnb3JpdGhtTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWxnb3JpdGhtTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFsZ29yaXRobSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWxnb3JpdGhtQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBbGdvcml0aG1OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWxnb3JpdGhtTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcHBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlclByb2ZpbGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB1c2VyUHJvZmlsZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBBcHBUeXBlIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHBUeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXBwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlclByb2ZpbGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXNlclByb2ZpbGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwVHlwZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFwcFR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBBcHBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwLWltYWdlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXBwSW1hZ2VDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXBwSW1hZ2VDb25maWdOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHBJbWFnZUNvbmZpZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhcHAtaW1hZ2UtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcHBJbWFnZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwSW1hZ2VDb25maWdOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwSW1hZ2VDb25maWdOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhcnRpZmFjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXJ0aWZhY3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSGFzaE9mQXJ0aWZhY3RTb3VyY2UgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGhhc2hPZkFydGlmYWN0U291cmNlOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXJ0aWZhY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFydGlmYWN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIYXNoT2ZBcnRpZmFjdFNvdXJjZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGhhc2hPZkFydGlmYWN0U291cmNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhdXRvbWwtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBdXRvbWxKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXV0b01MSm9iSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXV0b01sSm9iSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGF1dG9tbC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckF1dG9tbEpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXV0b01MSm9iSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGF1dG9NbEpvYkpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNsdXN0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNsdXN0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3RlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb2RlLXJlcG9zaXRvcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvZGVSZXBvc2l0b3J5QXJuUHJvcHMge1xuXHQvKiogVGhlIENvZGVSZXBvc2l0b3J5TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29kZVJlcG9zaXRvcnlOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29kZS1yZXBvc2l0b3J5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb2RlUmVwb3NpdG9yeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29kZVJlcG9zaXRvcnlOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29kZVJlcG9zaXRvcnlOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb21waWxhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbXBpbGF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbXBpbGF0aW9uSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29tcGlsYXRpb25Kb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29tcGlsYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb21waWxhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29tcGlsYXRpb25Kb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29tcGlsYXRpb25Kb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb21wdXRlLXF1b3RhIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb21wdXRlUXVvdGFBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29tcHV0ZVF1b3RhSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbXB1dGVRdW90YUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29tcHV0ZS1xdW90YSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29tcHV0ZVF1b3RhQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb21wdXRlUXVvdGFJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbXB1dGVRdW90YUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb250ZXh0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb250ZXh0QXJuUHJvcHMge1xuXHQvKiogVGhlIENvbnRleHROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb250ZXh0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbnRleHQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbnRleHRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbnRleHROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29udGV4dE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRldmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGV2aWNlQXJuUHJvcHMge1xuXHQvKiogVGhlIERldmljZUZsZWV0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGV2aWNlRmxlZXROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV2aWNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGV2aWNlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRldmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGV2aWNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEZXZpY2VGbGVldE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXZpY2VGbGVldE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEZXZpY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGV2aWNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGV2aWNlLWZsZWV0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEZXZpY2VGbGVldEFyblByb3BzIHtcblx0LyoqIFRoZSBEZXZpY2VGbGVldE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRldmljZUZsZWV0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRldmljZS1mbGVldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGV2aWNlRmxlZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERldmljZUZsZWV0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRldmljZUZsZWV0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9tYWluIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEb21haW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZG9tYWluIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEb21haW5Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVkZ2UtZGVwbG95bWVudC1wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFZGdlRGVwbG95bWVudFBsYW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRWRnZURlcGxveW1lbnRQbGFuTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZWRnZURlcGxveW1lbnRQbGFuTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVkZ2UtZGVwbG95bWVudC1wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFZGdlRGVwbG95bWVudFBsYW5Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVkZ2VEZXBsb3ltZW50UGxhbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBlZGdlRGVwbG95bWVudFBsYW5OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlZGdlLXBhY2thZ2luZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVkZ2VQYWNrYWdpbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRWRnZVBhY2thZ2luZ0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVkZ2VQYWNrYWdpbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZWRnZS1wYWNrYWdpbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFZGdlUGFja2FnaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFZGdlUGFja2FnaW5nSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVkZ2VQYWNrYWdpbmdKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRW5kcG9pbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRW5kcG9pbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBlbmRwb2ludE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVuZHBvaW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVuZHBvaW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZW5kcG9pbnQtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFbmRwb2ludENvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBFbmRwb2ludENvbmZpZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVuZHBvaW50Q29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVuZHBvaW50LWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRW5kcG9pbnRDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVuZHBvaW50Q29uZmlnTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVuZHBvaW50Q29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXhwZXJpbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBFeHBlcmltZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZXhwZXJpbWVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBleHBlcmltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFeHBlcmltZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV4cGVyaW1lbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBleHBlcmltZW50LXRyaWFsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJpYWxOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmlhbE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBleHBlcmltZW50LXRyaWFsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRyaWFsTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyaWFsTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFyblByb3BzIHtcblx0LyoqIFRoZSBUcmlhbENvbXBvbmVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyaWFsQ29tcG9uZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRyaWFsQ29tcG9uZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyaWFsQ29tcG9uZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZmVhdHVyZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRmVhdHVyZUdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIEZlYXR1cmVHcm91cE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZlYXR1cmVHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBmZWF0dXJlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJGZWF0dXJlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZlYXR1cmVHcm91cE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmZWF0dXJlR3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmbG93LWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckZsb3dEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEZsb3dEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0RlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmxvdy1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJGbG93RGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0RlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0RlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBodWIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1YkFyblByb3BzIHtcblx0LyoqIFRoZSBIdWJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodWJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHViIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdWJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh1Yk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodWJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBodWItY29udGVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHViQ29udGVudEFyblByb3BzIHtcblx0LyoqIFRoZSBIdWJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodWJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViQ29udGVudFR5cGUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1YkNvbnRlbnRUeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViQ29udGVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1YkNvbnRlbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHViLWNvbnRlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1YkNvbnRlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh1Yk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodWJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViQ29udGVudFR5cGUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodWJDb250ZW50VHlwZTogc3RyaW5nO1xuXHQvKiogVGhlIEh1YkNvbnRlbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHViQ29udGVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh1bWFuLWxvb3AgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1bWFuTG9vcEFyblByb3BzIHtcblx0LyoqIFRoZSBIdW1hbkxvb3BOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodW1hbkxvb3BOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHVtYW4tbG9vcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHVtYW5Mb29wQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIdW1hbkxvb3BOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHVtYW5Mb29wTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaHVtYW4tdGFzay11aSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHVtYW5UYXNrVWlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSHVtYW5UYXNrVWlOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodW1hblRhc2tVaU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBodW1hbi10YXNrLXVpIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdW1hblRhc2tVaUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSHVtYW5UYXNrVWlOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHVtYW5UYXNrVWlOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBoeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW1hZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckltYWdlQXJuUHJvcHMge1xuXHQvKiogVGhlIEltYWdlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW1hZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckltYWdlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbWFnZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGltYWdlLXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckltYWdlVmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBJbWFnZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFZlcnNpb24gY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbWFnZS12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbWFnZVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEltYWdlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFZlcnNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbmZlcmVuY2UtY29tcG9uZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VDb21wb25lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW5mZXJlbmNlQ29tcG9uZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlQ29tcG9uZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGluZmVyZW5jZS1jb21wb25lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZUNvbXBvbmVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW5mZXJlbmNlQ29tcG9uZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZUNvbXBvbmVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGluZmVyZW5jZS1leHBlcmltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VFeHBlcmltZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEluZmVyZW5jZUV4cGVyaW1lbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VFeHBlcmltZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGluZmVyZW5jZS1leHBlcmltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VFeHBlcmltZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbmZlcmVuY2VFeHBlcmltZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZUV4cGVyaW1lbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iQ2F0ZWdvcnkgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYkNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JDYXRlZ29yeSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYkNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGxhYmVsaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTGFiZWxpbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTGFiZWxpbmdKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsYWJlbGluZ0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsYWJlbGluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckxhYmVsaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMYWJlbGluZ0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsYWJlbGluZ0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGxpbmVhZ2UtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckxpbmVhZ2VHcm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBMaW5lYWdlR3JvdXBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsaW5lYWdlR3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbGluZWFnZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTGluZWFnZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMaW5lYWdlR3JvdXBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGluZWFnZUdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbWxmbG93LWFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTWxmbG93QXBwQXJuUHJvcHMge1xuXHQvKiogVGhlIE1MZmxvd0FwcElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtTGZsb3dBcHBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1sZmxvdy1hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1sZmxvd0FwcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTUxmbG93QXBwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtTGZsb3dBcHBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbWxmbG93LXRyYWNraW5nLXNlcnZlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtbGZsb3dUcmFja2luZ1NlcnZlck5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtbGZsb3ctdHJhY2tpbmctc2VydmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNbGZsb3dUcmFja2luZ1NlcnZlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1jYXJkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbENhcmRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxDYXJkTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxDYXJkTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWNhcmQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQ2FyZEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxDYXJkTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsQ2FyZE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxDYXJkRXhwb3J0Sm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsQ2FyZE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsQ2FyZE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBFeHBvcnRKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBleHBvcnRKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtY2FyZC1leHBvcnQtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbENhcmRFeHBvcnRKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsQ2FyZE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbENhcmROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRXhwb3J0Sm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV4cG9ydEpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1wYWNrYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFBhY2thZ2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxQYWNrYWdlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxQYWNrYWdlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLXBhY2thZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUGFja2FnZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxQYWNrYWdlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsUGFja2FnZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLXBhY2thZ2UtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUGFja2FnZUdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsUGFja2FnZUdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxQYWNrYWdlR3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtcGFja2FnZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxQYWNrYWdlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsUGFja2FnZUdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsUGFja2FnZUdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb25pdG9yaW5nLXNjaGVkdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vbml0b3Jpbmctc2NoZWR1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUHJvcHMge1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbm90ZWJvb2staW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTm90ZWJvb2tJbnN0YW5jZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5vdGVib29rSW5zdGFuY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbm90ZWJvb2staW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGVib29rSW5zdGFuY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbm90ZWJvb2tJbnN0YW5jZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgb3B0aW1pemF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyT3B0aW1pemF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIE9wdGltaXphdGlvbkpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG9wdGltaXphdGlvbkpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBvcHRpbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJPcHRpbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE9wdGltaXphdGlvbkpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBvcHRpbWl6YXRpb25Kb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwYXJ0bmVyLWFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGFydG5lckFwcEFyblByb3BzIHtcblx0LyoqIFRoZSBBcHBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwYXJ0bmVyLWFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGFydG5lckFwcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcGlwZWxpbmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBpcGVsaW5lQXJuUHJvcHMge1xuXHQvKiogVGhlIFBpcGVsaW5lTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcGlwZWxpbmVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcGlwZWxpbmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBpcGVsaW5lQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQaXBlbGluZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwaXBlbGluZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBpcGVsaW5lLWV4ZWN1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGlwZWxpbmVFeGVjdXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUGlwZWxpbmVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwaXBlbGluZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSYW5kb21TdHJpbmcgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJhbmRvbVN0cmluZzogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBpcGVsaW5lLWV4ZWN1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGlwZWxpbmVFeGVjdXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFBpcGVsaW5lTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBpcGVsaW5lTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFJhbmRvbVN0cmluZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJhbmRvbVN0cmluZzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvY2Vzc2luZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclByb2Nlc3NpbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvY2Vzc2luZ0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2Nlc3NpbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvY2Vzc2luZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclByb2Nlc3NpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb2Nlc3NpbmdKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvY2Vzc2luZ0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclByb2plY3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvamVjdE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2plY3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUHJvamVjdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvamVjdE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVzZXJ2ZWQtY2FwYWNpdHkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclJlc2VydmVkQ2FwYWNpdHlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmFuZG9tU3RyaW5nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByYW5kb21TdHJpbmc6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZXNlcnZlZC1jYXBhY2l0eSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUmVzZXJ2ZWRDYXBhY2l0eUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmFuZG9tU3RyaW5nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmFuZG9tU3RyaW5nOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzYWdlbWFrZXItY2F0YWxvZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2FnZW1ha2VyQ2F0YWxvZ0FyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUNhdGFsb2dOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUNhdGFsb2dOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2FnZW1ha2VyLWNhdGFsb2cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNhZ2VtYWtlckNhdGFsb2dBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlQ2F0YWxvZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUNhdGFsb2dOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzaGFyZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNoYXJlZE1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIFNoYXJlZE1vZGVsSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNoYXJlZE1vZGVsSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzaGFyZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNoYXJlZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTaGFyZWRNb2RlbElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2hhcmVkTW9kZWxJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2hhcmVkLW1vZGVsLWV2ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTaGFyZWRNb2RlbEV2ZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEV2ZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGV2ZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzaGFyZWQtbW9kZWwtZXZlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNoYXJlZE1vZGVsRXZlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEV2ZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBldmVudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzcGFjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU3BhY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgU3BhY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzcGFjZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzcGFjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU3BhY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBTcGFjZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzcGFjZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cmFpbmluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYWluaW5nSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFRyYWluaW5nSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJhaW5pbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdHJhaW5pbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFpbmluZ0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJhaW5pbmdKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJhaW5pbmdKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cmFpbmluZy1wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFpbmluZ1BsYW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJhaW5pbmdQbGFuTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJhaW5pbmdQbGFuTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRyYWluaW5nLXBsYW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYWluaW5nUGxhbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJhaW5pbmdQbGFuTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyYWluaW5nUGxhbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRyYW5zZm9ybS1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYW5zZm9ybUpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBUcmFuc2Zvcm1Kb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmFuc2Zvcm1Kb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdHJhbnNmb3JtLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhbnNmb3JtSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmFuc2Zvcm1Kb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJhbnNmb3JtSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdXNlci1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJVc2VyUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VyUHJvZmlsZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHVzZXJQcm9maWxlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHVzZXItcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVXNlclByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VyUHJvZmlsZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB1c2VyUHJvZmlsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHdvcmtmb3JjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyV29ya2ZvcmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFdvcmtmb3JjZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHdvcmtmb3JjZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3JrZm9yY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlcldvcmtmb3JjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgV29ya2ZvcmNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHdvcmtmb3JjZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHdvcmt0ZWFtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJXb3JrdGVhbUFyblByb3BzIHtcblx0LyoqIFRoZSBXb3JrdGVhbU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHdvcmt0ZWFtTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmt0ZWFtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJXb3JrdGVhbUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgV29ya3RlYW1OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgd29ya3RlYW1OYW1lOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFjdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphY3Rpb25cXC8oPzxhY3Rpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBBaUJlbmNobWFya0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphaS1iZW5jaG1hcmstam9iXFwvKD88YWlCZW5jaG1hcmtKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBBaVJlY29tbWVuZGF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFpLXJlY29tbWVuZGF0aW9uLWpvYlxcLyg/PGFpUmVjb21tZW5kYXRpb25Kb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBBaVdvcmtsb2FkQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFpLXdvcmtsb2FkLWNvbmZpZ1xcLyg/PGFpV29ya2xvYWRDb25maWdOYW1lPlteOi8/XSspJC87XG5jb25zdCBBbGdvcml0aG1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWxnb3JpdGhtXFwvKD88YWxnb3JpdGhtTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQXBwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcFxcLyg/PGRvbWFpbklkPlteOi8/XSspXFwvKD88dXNlclByb2ZpbGVOYW1lPlteOi8/XSspXFwvKD88YXBwVHlwZT5bXjovP10rKVxcLyg/PGFwcE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEFwcEltYWdlQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcC1pbWFnZS1jb25maWdcXC8oPzxhcHBJbWFnZUNvbmZpZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IEFydGlmYWN0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFydGlmYWN0XFwvKD88aGFzaE9mQXJ0aWZhY3RTb3VyY2U+W146Lz9dKykkLztcbmNvbnN0IEF1dG9tbEpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphdXRvbWwtam9iXFwvKD88YXV0b01sSm9iSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ2x1c3RlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjbHVzdGVyXFwvKD88Y2x1c3RlcklkPlteOi8/XSspJC87XG5jb25zdCBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZ1xcLyg/PGNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZD5bXjovP10rKSQvO1xuY29uc3QgQ29kZVJlcG9zaXRvcnlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29kZS1yZXBvc2l0b3J5XFwvKD88Y29kZVJlcG9zaXRvcnlOYW1lPlteOi8/XSspJC87XG5jb25zdCBDb21waWxhdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb21waWxhdGlvbi1qb2JcXC8oPzxjb21waWxhdGlvbkpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IENvbXB1dGVRdW90YUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb21wdXRlLXF1b3RhXFwvKD88Y29tcHV0ZVF1b3RhSWQ+W146Lz9dKykkLztcbmNvbnN0IENvbnRleHRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29udGV4dFxcLyg/PGNvbnRleHROYW1lPlteOi8/XSspJC87XG5jb25zdCBEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uXFwvKD88ZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRGV2aWNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRldmljZS1mbGVldFxcLyg/PGRldmljZUZsZWV0TmFtZT5bXjovP10rKVxcL2RldmljZVxcLyg/PGRldmljZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IERldmljZUZsZWV0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRldmljZS1mbGVldFxcLyg/PGRldmljZUZsZWV0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRG9tYWluQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpblxcLyg/PGRvbWFpbklkPlteOi8/XSspJC87XG5jb25zdCBFZGdlRGVwbG95bWVudFBsYW5Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZWRnZS1kZXBsb3ltZW50XFwvKD88ZWRnZURlcGxveW1lbnRQbGFuTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRWRnZVBhY2thZ2luZ0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTplZGdlLXBhY2thZ2luZy1qb2JcXC8oPzxlZGdlUGFja2FnaW5nSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRW5kcG9pbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZW5kcG9pbnRcXC8oPzxlbmRwb2ludE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEVuZHBvaW50Q29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVuZHBvaW50LWNvbmZpZ1xcLyg/PGVuZHBvaW50Q29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRXhwZXJpbWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpleHBlcmltZW50XFwvKD88ZXhwZXJpbWVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEV4cGVyaW1lbnRUcmlhbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpleHBlcmltZW50LXRyaWFsXFwvKD88dHJpYWxOYW1lPlteOi8/XSspJC87XG5jb25zdCBFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnRcXC8oPzx0cmlhbENvbXBvbmVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEZlYXR1cmVHcm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpmZWF0dXJlLWdyb3VwXFwvKD88ZmVhdHVyZUdyb3VwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRmxvd0RlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmxvdy1kZWZpbml0aW9uXFwvKD88Zmxvd0RlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBIdWJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHViXFwvKD88aHViTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSHViQ29udGVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpodWItY29udGVudFxcLyg/PGh1Yk5hbWU+W146Lz9dKylcXC8oPzxodWJDb250ZW50VHlwZT5bXjovP10rKVxcLyg/PGh1YkNvbnRlbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBIdW1hbkxvb3BBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHVtYW4tbG9vcFxcLyg/PGh1bWFuTG9vcE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEh1bWFuVGFza1VpQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh1bWFuLXRhc2stdWlcXC8oPzxodW1hblRhc2tVaU5hbWU+W146Lz9dKykkLztcbmNvbnN0IEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iXFwvKD88aHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBJbWFnZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbWFnZVxcLyg/PGltYWdlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW1hZ2VWZXJzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmltYWdlLXZlcnNpb25cXC8oPzxpbWFnZU5hbWU+W146Lz9dKylcXC8oPzx2ZXJzaW9uPlteOi8/XSspJC87XG5jb25zdCBJbmZlcmVuY2VDb21wb25lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5mZXJlbmNlLWNvbXBvbmVudFxcLyg/PGluZmVyZW5jZUNvbXBvbmVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEluZmVyZW5jZUV4cGVyaW1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5mZXJlbmNlLWV4cGVyaW1lbnRcXC8oPzxpbmZlcmVuY2VFeHBlcmltZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iXFwvKD88aW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmpvYlxcLyg/PGpvYkNhdGVnb3J5PlteOi8/XSspXFwvKD88am9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTGFiZWxpbmdKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bGFiZWxpbmctam9iXFwvKD88bGFiZWxpbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBMaW5lYWdlR3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bGluZWFnZS1ncm91cFxcLyg/PGxpbmVhZ2VHcm91cE5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1sZmxvd0FwcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptbGZsb3ctYXBwXFwvKD88bUxmbG93QXBwSWQ+W146Lz9dKykkLztcbmNvbnN0IE1sZmxvd1RyYWNraW5nU2VydmVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1sZmxvdy10cmFja2luZy1zZXJ2ZXJcXC8oPzxtbGZsb3dUcmFja2luZ1NlcnZlck5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsXFwvKD88bW9kZWxOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWJpYXMtam9iLWRlZmluaXRpb25cXC8oPzxtb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxDYXJkQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWNhcmRcXC8oPzxtb2RlbENhcmROYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbENhcmRFeHBvcnRKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtY2FyZFxcLyg/PG1vZGVsQ2FyZE5hbWU+W146Lz9dKylcXC9leHBvcnQtam9iXFwvKD88ZXhwb3J0Sm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb25cXC8oPzxtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsUGFja2FnZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1wYWNrYWdlXFwvKD88bW9kZWxQYWNrYWdlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxQYWNrYWdlR3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtcGFja2FnZS1ncm91cFxcLyg/PG1vZGVsUGFja2FnZUdyb3VwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uXFwvKD88bW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vbml0b3JpbmdTY2hlZHVsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb25pdG9yaW5nLXNjaGVkdWxlXFwvKD88bW9uaXRvcmluZ1NjaGVkdWxlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9uaXRvcmluZy1zY2hlZHVsZVxcLyg/PG1vbml0b3JpbmdTY2hlZHVsZU5hbWU+W146Lz9dKylcXC9hbGVydFxcLyg/PG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgTm90ZWJvb2tJbnN0YW5jZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpub3RlYm9vay1pbnN0YW5jZVxcLyg/PG5vdGVib29rSW5zdGFuY2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWdcXC8oPzxub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgT3B0aW1pemF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm9wdGltaXphdGlvbi1qb2JcXC8oPzxvcHRpbWl6YXRpb25Kb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBQYXJ0bmVyQXBwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBhcnRuZXItYXBwXFwvKD88YXBwSWQ+W146Lz9dKykkLztcbmNvbnN0IFBpcGVsaW5lQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBpcGVsaW5lXFwvKD88cGlwZWxpbmVOYW1lPlteOi8/XSspJC87XG5jb25zdCBQaXBlbGluZUV4ZWN1dGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwaXBlbGluZVxcLyg/PHBpcGVsaW5lTmFtZT5bXjovP10rKVxcL2V4ZWN1dGlvblxcLyg/PHJhbmRvbVN0cmluZz5bXjovP10rKSQvO1xuY29uc3QgUHJvY2Vzc2luZ0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm9jZXNzaW5nLWpvYlxcLyg/PHByb2Nlc3NpbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBQcm9qZWN0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb2plY3RcXC8oPzxwcm9qZWN0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgUmVzZXJ2ZWRDYXBhY2l0eUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXNlcnZlZC1jYXBhY2l0eVxcLyg/PHJhbmRvbVN0cmluZz5bXjovP10rKSQvO1xuY29uc3QgU2FnZW1ha2VyQ2F0YWxvZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzYWdlbWFrZXItY2F0YWxvZ1xcLyg/PHJlc291cmNlQ2F0YWxvZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IFNoYXJlZE1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNoYXJlZC1tb2RlbFxcLyg/PHNoYXJlZE1vZGVsSWQ+W146Lz9dKykkLztcbmNvbnN0IFNoYXJlZE1vZGVsRXZlbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2hhcmVkLW1vZGVsLWV2ZW50XFwvKD88ZXZlbnRJZD5bXjovP10rKSQvO1xuY29uc3QgU3BhY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c3BhY2VcXC8oPzxkb21haW5JZD5bXjovP10rKVxcLyg/PHNwYWNlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnN0dWRpby1saWZlY3ljbGUtY29uZmlnXFwvKD88c3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgVHJhaW5pbmdKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dHJhaW5pbmctam9iXFwvKD88dHJhaW5pbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBUcmFpbmluZ1BsYW5Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dHJhaW5pbmctcGxhblxcLyg/PHRyYWluaW5nUGxhbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFRyYW5zZm9ybUpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0cmFuc2Zvcm0tam9iXFwvKD88dHJhbnNmb3JtSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgVXNlclByb2ZpbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dXNlci1wcm9maWxlXFwvKD88ZG9tYWluSWQ+W146Lz9dKylcXC8oPzx1c2VyUHJvZmlsZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFdvcmtmb3JjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3JrZm9yY2VcXC8oPzx3b3JrZm9yY2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBXb3JrdGVhbUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3JrdGVhbVxcLyg/PHdvcmt0ZWFtTmFtZT5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHNhZ2VtYWtlciByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYWdlTWFrZXJSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhY3Rpb24ocHJvcHM6IFNhZ2VNYWtlckFjdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWN0aW9uLyR7cHJvcHMuYWN0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBY3Rpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWN0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFjdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBY3Rpb25Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBY3Rpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFjdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhY3Rpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWN0aW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5hY3Rpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFpLWJlbmNobWFyay1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWlCZW5jaG1hcmtKb2IocHJvcHM6IFNhZ2VNYWtlckFpQmVuY2htYXJrSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphaS1iZW5jaG1hcmstam9iLyR7cHJvcHMuYWlCZW5jaG1hcmtKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhaS1iZW5jaG1hcmstam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBaUJlbmNobWFya0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBaUJlbmNobWFya0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhaS1iZW5jaG1hcmstam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFpQmVuY2htYXJrSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJBaUJlbmNobWFya0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWlCZW5jaG1hcmtKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWktYmVuY2htYXJrLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhaUJlbmNobWFya0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEuYWlCZW5jaG1hcmtKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFpLXJlY29tbWVuZGF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhaVJlY29tbWVuZGF0aW9uSm9iKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJBaVJlY29tbWVuZGF0aW9uSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFpLXJlY29tbWVuZGF0aW9uLWpvYi8ke3Byb3BzLmFpUmVjb21tZW5kYXRpb25Kb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFpUmVjb21tZW5kYXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWlSZWNvbW1lbmRhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWlSZWNvbW1lbmRhdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQWlSZWNvbW1lbmRhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWlSZWNvbW1lbmRhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWlSZWNvbW1lbmRhdGlvbkpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuYWlSZWNvbW1lbmRhdGlvbkpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWktd29ya2xvYWQtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFpV29ya2xvYWRDb25maWcocHJvcHM6IFNhZ2VNYWtlckFpV29ya2xvYWRDb25maWdBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFpLXdvcmtsb2FkLWNvbmZpZy8ke3Byb3BzLmFpV29ya2xvYWRDb25maWdOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhaS13b3JrbG9hZC1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFpV29ya2xvYWRDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWlXb3JrbG9hZENvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhaS13b3JrbG9hZC1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWlXb3JrbG9hZENvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQWlXb3JrbG9hZENvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWlXb3JrbG9hZENvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhaS13b3JrbG9hZC1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWlXb3JrbG9hZENvbmZpZ05hbWU6IG1hdGNoLmdyb3VwcyEuYWlXb3JrbG9hZENvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWxnb3JpdGhtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFsZ29yaXRobShwcm9wczogU2FnZU1ha2VyQWxnb3JpdGhtQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphbGdvcml0aG0vJHtwcm9wcy5hbGdvcml0aG1OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhbGdvcml0aG0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFsZ29yaXRobUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBbGdvcml0aG1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWxnb3JpdGhtIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFsZ29yaXRobUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckFsZ29yaXRobUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWxnb3JpdGhtQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFsZ29yaXRobSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhbGdvcml0aG1OYW1lOiBtYXRjaC5ncm91cHMhLmFsZ29yaXRobU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFwcChwcm9wczogU2FnZU1ha2VyQXBwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHAvJHtwcm9wcy5kb21haW5JZH0vJHtwcm9wcy51c2VyUHJvZmlsZU5hbWV9LyR7cHJvcHMuYXBwVHlwZX0vJHtwcm9wcy5hcHBOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFwcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcHBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXBwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckFwcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXBwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFwcCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5JZDogbWF0Y2guZ3JvdXBzIS5kb21haW5JZCxcblx0XHRcdHVzZXJQcm9maWxlTmFtZTogbWF0Y2guZ3JvdXBzIS51c2VyUHJvZmlsZU5hbWUsXG5cdFx0XHRhcHBUeXBlOiBtYXRjaC5ncm91cHMhLmFwcFR5cGUsXG5cdFx0XHRhcHBOYW1lOiBtYXRjaC5ncm91cHMhLmFwcE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwLWltYWdlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcHBJbWFnZUNvbmZpZyhwcm9wczogU2FnZU1ha2VyQXBwSW1hZ2VDb25maWdBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFwcC1pbWFnZS1jb25maWcvJHtwcm9wcy5hcHBJbWFnZUNvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFwcC1pbWFnZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFwcEltYWdlQ29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFwcEltYWdlQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwcC1pbWFnZS1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXBwSW1hZ2VDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckFwcEltYWdlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHBJbWFnZUNvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcHAtaW1hZ2UtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFwcEltYWdlQ29uZmlnTmFtZTogbWF0Y2guZ3JvdXBzIS5hcHBJbWFnZUNvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXJ0aWZhY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXJ0aWZhY3QocHJvcHM6IFNhZ2VNYWtlckFydGlmYWN0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcnRpZmFjdC8ke3Byb3BzLmhhc2hPZkFydGlmYWN0U291cmNlfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcnRpZmFjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXJ0aWZhY3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXJ0aWZhY3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXJ0aWZhY3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXJ0aWZhY3RBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBcnRpZmFjdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXJ0aWZhY3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXJ0aWZhY3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aGFzaE9mQXJ0aWZhY3RTb3VyY2U6IG1hdGNoLmdyb3VwcyEuaGFzaE9mQXJ0aWZhY3RTb3VyY2UsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXV0b21sLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWxKb2IocHJvcHM6IFNhZ2VNYWtlckF1dG9tbEpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXV0b21sLWpvYi8ke3Byb3BzLmF1dG9NbEpvYkpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGF1dG9tbC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEF1dG9tbEpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBdXRvbWxKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXV0b21sLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBdXRvbWxKb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBdXRvbWxKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEF1dG9tbEpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhdXRvbWwtam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9NbEpvYkpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuYXV0b01sSm9iSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsdXN0ZXIocHJvcHM6IFNhZ2VNYWtlckNsdXN0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNsdXN0ZXIvJHtwcm9wcy5jbHVzdGVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2x1c3RlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjbHVzdGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJDbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDbHVzdGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsdXN0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3RlcklkOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3RlclNjaGVkdWxlckNvbmZpZyhcblx0XHRwcm9wczogU2FnZU1ha2VyQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjbHVzdGVyLXNjaGVkdWxlci1jb25maWcvJHtwcm9wcy5jbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQ6IG1hdGNoLmdyb3VwcyEuY2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvZGUtcmVwb3NpdG9yeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb2RlUmVwb3NpdG9yeShwcm9wczogU2FnZU1ha2VyQ29kZVJlcG9zaXRvcnlBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvZGUtcmVwb3NpdG9yeS8ke3Byb3BzLmNvZGVSZXBvc2l0b3J5TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29kZS1yZXBvc2l0b3J5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb2RlUmVwb3NpdG9yeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb2RlUmVwb3NpdG9yeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb2RlLXJlcG9zaXRvcnkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29kZVJlcG9zaXRvcnlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckNvZGVSZXBvc2l0b3J5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb2RlUmVwb3NpdG9yeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2RlLXJlcG9zaXRvcnkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29kZVJlcG9zaXRvcnlOYW1lOiBtYXRjaC5ncm91cHMhLmNvZGVSZXBvc2l0b3J5TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb21waWxhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29tcGlsYXRpb25Kb2IocHJvcHM6IFNhZ2VNYWtlckNvbXBpbGF0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb21waWxhdGlvbi1qb2IvJHtwcm9wcy5jb21waWxhdGlvbkpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbXBpbGF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29tcGlsYXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29tcGlsYXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29tcGlsYXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbXBpbGF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJDb21waWxhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29tcGlsYXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29tcGlsYXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbXBpbGF0aW9uSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5jb21waWxhdGlvbkpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29tcHV0ZS1xdW90YSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb21wdXRlUXVvdGEocHJvcHM6IFNhZ2VNYWtlckNvbXB1dGVRdW90YUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29tcHV0ZS1xdW90YS8ke3Byb3BzLmNvbXB1dGVRdW90YUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb21wdXRlLXF1b3RhIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb21wdXRlUXVvdGFBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29tcHV0ZVF1b3RhQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbXB1dGUtcXVvdGEgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29tcHV0ZVF1b3RhQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQ29tcHV0ZVF1b3RhQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb21wdXRlUXVvdGFBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29tcHV0ZS1xdW90YSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb21wdXRlUXVvdGFJZDogbWF0Y2guZ3JvdXBzIS5jb21wdXRlUXVvdGFJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb250ZXh0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbnRleHQocHJvcHM6IFNhZ2VNYWtlckNvbnRleHRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbnRleHQvJHtwcm9wcy5jb250ZXh0TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29udGV4dCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29udGV4dEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb250ZXh0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbnRleHQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29udGV4dEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckNvbnRleHRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbnRleHRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29udGV4dCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb250ZXh0TmFtZTogbWF0Y2guZ3JvdXBzIS5jb250ZXh0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uLyR7cHJvcHMuZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLmRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGV2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRldmljZShwcm9wczogU2FnZU1ha2VyRGV2aWNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkZXZpY2UtZmxlZXQvJHtwcm9wcy5kZXZpY2VGbGVldE5hbWV9L2RldmljZS8ke3Byb3BzLmRldmljZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRldmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGV2aWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERldmljZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkZXZpY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGV2aWNlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRGV2aWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEZXZpY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGV2aWNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRldmljZUZsZWV0TmFtZTogbWF0Y2guZ3JvdXBzIS5kZXZpY2VGbGVldE5hbWUsXG5cdFx0XHRkZXZpY2VOYW1lOiBtYXRjaC5ncm91cHMhLmRldmljZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGV2aWNlLWZsZWV0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRldmljZUZsZWV0KHByb3BzOiBTYWdlTWFrZXJEZXZpY2VGbGVldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGV2aWNlLWZsZWV0LyR7cHJvcHMuZGV2aWNlRmxlZXROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkZXZpY2UtZmxlZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERldmljZUZsZWV0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERldmljZUZsZWV0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRldmljZS1mbGVldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEZXZpY2VGbGVldEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckRldmljZUZsZWV0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEZXZpY2VGbGVldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZXZpY2UtZmxlZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGV2aWNlRmxlZXROYW1lOiBtYXRjaC5ncm91cHMhLmRldmljZUZsZWV0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkb21haW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWluKHByb3BzOiBTYWdlTWFrZXJEb21haW5Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbi8ke3Byb3BzLmRvbWFpbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkb21haW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvbWFpbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEb21haW5Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZG9tYWluIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURvbWFpbkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckRvbWFpbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9tYWluQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRvbWFpbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5JZDogbWF0Y2guZ3JvdXBzIS5kb21haW5JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlZGdlLWRlcGxveW1lbnQtcGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlZGdlRGVwbG95bWVudFBsYW4oXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckVkZ2VEZXBsb3ltZW50UGxhbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplZGdlLWRlcGxveW1lbnQvJHtwcm9wcy5lZGdlRGVwbG95bWVudFBsYW5OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlZGdlLWRlcGxveW1lbnQtcGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRWRnZURlcGxveW1lbnRQbGFuQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVkZ2VEZXBsb3ltZW50UGxhbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlZGdlLWRlcGxveW1lbnQtcGxhbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFZGdlRGVwbG95bWVudFBsYW5Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckVkZ2VEZXBsb3ltZW50UGxhbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRWRnZURlcGxveW1lbnRQbGFuQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVkZ2UtZGVwbG95bWVudC1wbGFuIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGVkZ2VEZXBsb3ltZW50UGxhbk5hbWU6IG1hdGNoLmdyb3VwcyEuZWRnZURlcGxveW1lbnRQbGFuTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlZGdlLXBhY2thZ2luZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZWRnZVBhY2thZ2luZ0pvYihwcm9wczogU2FnZU1ha2VyRWRnZVBhY2thZ2luZ0pvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZWRnZS1wYWNrYWdpbmctam9iLyR7cHJvcHMuZWRnZVBhY2thZ2luZ0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVkZ2UtcGFja2FnaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRWRnZVBhY2thZ2luZ0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFZGdlUGFja2FnaW5nSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVkZ2UtcGFja2FnaW5nLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFZGdlUGFja2FnaW5nSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJFZGdlUGFja2FnaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFZGdlUGFja2FnaW5nSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVkZ2UtcGFja2FnaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRlZGdlUGFja2FnaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5lZGdlUGFja2FnaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlbmRwb2ludChwcm9wczogU2FnZU1ha2VyRW5kcG9pbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmVuZHBvaW50LyR7cHJvcHMuZW5kcG9pbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW5kcG9pbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZW5kcG9pbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRW5kcG9pbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZW5kcG9pbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZW5kcG9pbnROYW1lOiBtYXRjaC5ncm91cHMhLmVuZHBvaW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlbmRwb2ludC1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZW5kcG9pbnRDb25maWcocHJvcHM6IFNhZ2VNYWtlckVuZHBvaW50Q29uZmlnQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplbmRwb2ludC1jb25maWcvJHtwcm9wcy5lbmRwb2ludENvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVuZHBvaW50LWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5kcG9pbnRDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW5kcG9pbnRDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZW5kcG9pbnQtY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVuZHBvaW50Q29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJFbmRwb2ludENvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRW5kcG9pbnRDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZW5kcG9pbnQtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGVuZHBvaW50Q29uZmlnTmFtZTogbWF0Y2guZ3JvdXBzIS5lbmRwb2ludENvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXhwZXJpbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBleHBlcmltZW50KHByb3BzOiBTYWdlTWFrZXJFeHBlcmltZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpleHBlcmltZW50LyR7cHJvcHMuZXhwZXJpbWVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV4cGVyaW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXhwZXJpbWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBleHBlcmltZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV4cGVyaW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJFeHBlcmltZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFeHBlcmltZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV4cGVyaW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZXhwZXJpbWVudE5hbWU6IG1hdGNoLmdyb3VwcyEuZXhwZXJpbWVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXhwZXJpbWVudC10cmlhbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBleHBlcmltZW50VHJpYWwocHJvcHM6IFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXhwZXJpbWVudC10cmlhbC8ke3Byb3BzLnRyaWFsTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXhwZXJpbWVudC10cmlhbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXhwZXJpbWVudFRyaWFsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV4cGVyaW1lbnRUcmlhbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBleHBlcmltZW50LXRyaWFsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV4cGVyaW1lbnRUcmlhbEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFeHBlcmltZW50VHJpYWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZXhwZXJpbWVudC10cmlhbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0cmlhbE5hbWU6IG1hdGNoLmdyb3VwcyEudHJpYWxOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV4cGVyaW1lbnRUcmlhbENvbXBvbmVudChcblx0XHRwcm9wczogU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50LyR7cHJvcHMudHJpYWxDb21wb25lbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyaWFsQ29tcG9uZW50TmFtZTogbWF0Y2guZ3JvdXBzIS50cmlhbENvbXBvbmVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmVhdHVyZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXAocHJvcHM6IFNhZ2VNYWtlckZlYXR1cmVHcm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZmVhdHVyZS1ncm91cC8ke3Byb3BzLmZlYXR1cmVHcm91cE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZlYXR1cmUtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZlYXR1cmVHcm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGZWF0dXJlR3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmVhdHVyZS1ncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGZWF0dXJlR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJGZWF0dXJlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZlYXR1cmVHcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmZWF0dXJlLWdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZlYXR1cmVHcm91cE5hbWU6IG1hdGNoLmdyb3VwcyEuZmVhdHVyZUdyb3VwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmbG93LWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZmxvd0RlZmluaXRpb24ocHJvcHM6IFNhZ2VNYWtlckZsb3dEZWZpbml0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpmbG93LWRlZmluaXRpb24vJHtwcm9wcy5mbG93RGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZsb3ctZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmxvd0RlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmxvd0RlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmxvdy1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZsb3dEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJGbG93RGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRmxvd0RlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmxvdy1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZsb3dEZWZpbml0aW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5mbG93RGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHViIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh1Yihwcm9wczogU2FnZU1ha2VySHViQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpodWIvJHtwcm9wcy5odWJOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBodWIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh1YkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIdWJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHViIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh1YkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckh1YkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHViQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh1YiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRodWJOYW1lOiBtYXRjaC5ncm91cHMhLmh1Yk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHViLWNvbnRlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHViQ29udGVudChwcm9wczogU2FnZU1ha2VySHViQ29udGVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHViLWNvbnRlbnQvJHtwcm9wcy5odWJOYW1lfS8ke3Byb3BzLmh1YkNvbnRlbnRUeXBlfS8ke3Byb3BzLmh1YkNvbnRlbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBodWItY29udGVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHViQ29udGVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIdWJDb250ZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh1Yi1jb250ZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh1YkNvbnRlbnRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJIdWJDb250ZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIdWJDb250ZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh1Yi1jb250ZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh1Yk5hbWU6IG1hdGNoLmdyb3VwcyEuaHViTmFtZSxcblx0XHRcdGh1YkNvbnRlbnRUeXBlOiBtYXRjaC5ncm91cHMhLmh1YkNvbnRlbnRUeXBlLFxuXHRcdFx0aHViQ29udGVudE5hbWU6IG1hdGNoLmdyb3VwcyEuaHViQ29udGVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHVtYW4tbG9vcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBodW1hbkxvb3AocHJvcHM6IFNhZ2VNYWtlckh1bWFuTG9vcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHVtYW4tbG9vcC8ke3Byb3BzLmh1bWFuTG9vcE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGh1bWFuLWxvb3AgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh1bWFuTG9vcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIdW1hbkxvb3BBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHVtYW4tbG9vcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIdW1hbkxvb3BBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJIdW1hbkxvb3BBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEh1bWFuTG9vcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBodW1hbi1sb29wIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh1bWFuTG9vcE5hbWU6IG1hdGNoLmdyb3VwcyEuaHVtYW5Mb29wTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBodW1hbi10YXNrLXVpIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh1bWFuVGFza1VpKHByb3BzOiBTYWdlTWFrZXJIdW1hblRhc2tVaUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHVtYW4tdGFzay11aS8ke3Byb3BzLmh1bWFuVGFza1VpTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHVtYW4tdGFzay11aSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHVtYW5UYXNrVWlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHVtYW5UYXNrVWlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHVtYW4tdGFzay11aSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIdW1hblRhc2tVaUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckh1bWFuVGFza1VpQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIdW1hblRhc2tVaUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBodW1hbi10YXNrLXVpIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh1bWFuVGFza1VpTmFtZTogbWF0Y2guZ3JvdXBzIS5odW1hblRhc2tVaU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iLyR7cHJvcHMuaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRoeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEuaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGltYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGltYWdlKHByb3BzOiBTYWdlTWFrZXJJbWFnZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW1hZ2UvJHtwcm9wcy5pbWFnZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGltYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbWFnZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbWFnZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbWFnZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbWFnZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckltYWdlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbWFnZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbWFnZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbWFnZU5hbWU6IG1hdGNoLmdyb3VwcyEuaW1hZ2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGltYWdlLXZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW1hZ2VWZXJzaW9uKHByb3BzOiBTYWdlTWFrZXJJbWFnZVZlcnNpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmltYWdlLXZlcnNpb24vJHtwcm9wcy5pbWFnZU5hbWV9LyR7cHJvcHMudmVyc2lvbn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW1hZ2UtdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW1hZ2VWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEltYWdlVmVyc2lvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbWFnZS12ZXJzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUltYWdlVmVyc2lvbkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckltYWdlVmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW1hZ2VWZXJzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGltYWdlLXZlcnNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW1hZ2VOYW1lOiBtYXRjaC5ncm91cHMhLmltYWdlTmFtZSxcblx0XHRcdHZlcnNpb246IG1hdGNoLmdyb3VwcyEudmVyc2lvbixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtY29tcG9uZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGluZmVyZW5jZUNvbXBvbmVudChcblx0XHRwcm9wczogU2FnZU1ha2VySW5mZXJlbmNlQ29tcG9uZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmluZmVyZW5jZS1jb21wb25lbnQvJHtwcm9wcy5pbmZlcmVuY2VDb21wb25lbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtY29tcG9uZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbmZlcmVuY2VDb21wb25lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW5mZXJlbmNlQ29tcG9uZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGluZmVyZW5jZS1jb21wb25lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW5mZXJlbmNlQ29tcG9uZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJJbmZlcmVuY2VDb21wb25lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluZmVyZW5jZUNvbXBvbmVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbmZlcmVuY2UtY29tcG9uZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGluZmVyZW5jZUNvbXBvbmVudE5hbWU6IG1hdGNoLmdyb3VwcyEuaW5mZXJlbmNlQ29tcG9uZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtZXhwZXJpbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbmZlcmVuY2VFeHBlcmltZW50KFxuXHRcdHByb3BzOiBTYWdlTWFrZXJJbmZlcmVuY2VFeHBlcmltZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmluZmVyZW5jZS1leHBlcmltZW50LyR7cHJvcHMuaW5mZXJlbmNlRXhwZXJpbWVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1leHBlcmltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbmZlcmVuY2VFeHBlcmltZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluZmVyZW5jZUV4cGVyaW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW5mZXJlbmNlLWV4cGVyaW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW5mZXJlbmNlRXhwZXJpbWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VySW5mZXJlbmNlRXhwZXJpbWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW5mZXJlbmNlRXhwZXJpbWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbmZlcmVuY2UtZXhwZXJpbWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbmZlcmVuY2VFeHBlcmltZW50TmFtZTogbWF0Y2guZ3JvdXBzIS5pbmZlcmVuY2VFeHBlcmltZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYi8ke3Byb3BzLmluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VySW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZTpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5pbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBqb2IocHJvcHM6IFNhZ2VNYWtlckpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06am9iLyR7cHJvcHMuam9iQ2F0ZWdvcnl9LyR7cHJvcHMuam9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VKb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBqb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iQ2F0ZWdvcnk6IG1hdGNoLmdyb3VwcyEuam9iQ2F0ZWdvcnksXG5cdFx0XHRqb2JOYW1lOiBtYXRjaC5ncm91cHMhLmpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbGFiZWxpbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxhYmVsaW5nSm9iKHByb3BzOiBTYWdlTWFrZXJMYWJlbGluZ0pvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bGFiZWxpbmctam9iLyR7cHJvcHMubGFiZWxpbmdKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsYWJlbGluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExhYmVsaW5nSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExhYmVsaW5nSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGxhYmVsaW5nLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMYWJlbGluZ0pvYkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckxhYmVsaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMYWJlbGluZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsYWJlbGluZy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bGFiZWxpbmdKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmxhYmVsaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBsaW5lYWdlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxpbmVhZ2VHcm91cChwcm9wczogU2FnZU1ha2VyTGluZWFnZUdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsaW5lYWdlLWdyb3VwLyR7cHJvcHMubGluZWFnZUdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbGluZWFnZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTGluZWFnZUdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExpbmVhZ2VHcm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsaW5lYWdlLWdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxpbmVhZ2VHcm91cEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckxpbmVhZ2VHcm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGluZWFnZUdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxpbmVhZ2UtZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bGluZWFnZUdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5saW5lYWdlR3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1sZmxvdy1hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWxmbG93QXBwKHByb3BzOiBTYWdlTWFrZXJNbGZsb3dBcHBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1sZmxvdy1hcHAvJHtwcm9wcy5tTGZsb3dBcHBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbWxmbG93LWFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWxmbG93QXBwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1sZmxvd0FwcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtbGZsb3ctYXBwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1sZmxvd0FwcEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlck1sZmxvd0FwcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWxmbG93QXBwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1sZmxvdy1hcHAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bUxmbG93QXBwSWQ6IG1hdGNoLmdyb3VwcyEubUxmbG93QXBwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbWxmbG93LXRyYWNraW5nLXNlcnZlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtbGZsb3dUcmFja2luZ1NlcnZlcihcblx0XHRwcm9wczogU2FnZU1ha2VyTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWxmbG93LXRyYWNraW5nLXNlcnZlci8ke3Byb3BzLm1sZmxvd1RyYWNraW5nU2VydmVyTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbWxmbG93LXRyYWNraW5nLXNlcnZlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbWxmbG93LXRyYWNraW5nLXNlcnZlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNbGZsb3dUcmFja2luZ1NlcnZlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1sZmxvd1RyYWNraW5nU2VydmVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lOiBtYXRjaC5ncm91cHMhLm1sZmxvd1RyYWNraW5nU2VydmVyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbChwcm9wczogU2FnZU1ha2VyTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLyR7cHJvcHMubW9kZWxOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJNb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxOYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQmlhc0pvYkRlZmluaXRpb24oXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbi8ke3Byb3BzLm1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtY2FyZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbENhcmQocHJvcHM6IFNhZ2VNYWtlck1vZGVsQ2FyZEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtY2FyZC8ke3Byb3BzLm1vZGVsQ2FyZE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWNhcmQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQ2FyZEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbENhcmRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtY2FyZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbENhcmRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJNb2RlbENhcmRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQ2FyZEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1jYXJkIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsQ2FyZE5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxDYXJkTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxDYXJkRXhwb3J0Sm9iKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb2RlbENhcmRFeHBvcnRKb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtY2FyZC8ke3Byb3BzLm1vZGVsQ2FyZE5hbWV9L2V4cG9ydC1qb2IvJHtwcm9wcy5leHBvcnRKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQ2FyZEV4cG9ydEpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbENhcmRFeHBvcnRKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtY2FyZC1leHBvcnQtam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsQ2FyZEV4cG9ydEpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxDYXJkRXhwb3J0Sm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbENhcmRFeHBvcnRKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtY2FyZC1leHBvcnQtam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsQ2FyZE5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxDYXJkTmFtZSxcblx0XHRcdGV4cG9ydEpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuZXhwb3J0Sm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbihcblx0XHRwcm9wczogU2FnZU1ha2VyTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24vJHtwcm9wcy5tb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgSW52YWxpZCBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk46ICR7YXJufWAsXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEubW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLXBhY2thZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxQYWNrYWdlKHByb3BzOiBTYWdlTWFrZXJNb2RlbFBhY2thZ2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLXBhY2thZ2UvJHtwcm9wcy5tb2RlbFBhY2thZ2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1wYWNrYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbFBhY2thZ2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxQYWNrYWdlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLXBhY2thZ2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxQYWNrYWdlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTW9kZWxQYWNrYWdlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbFBhY2thZ2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtcGFja2FnZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbFBhY2thZ2VOYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsUGFja2FnZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtcGFja2FnZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbFBhY2thZ2VHcm91cChwcm9wczogU2FnZU1ha2VyTW9kZWxQYWNrYWdlR3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLXBhY2thZ2UtZ3JvdXAvJHtwcm9wcy5tb2RlbFBhY2thZ2VHcm91cE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLXBhY2thZ2UtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsUGFja2FnZUdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsUGFja2FnZUdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLXBhY2thZ2UtZ3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxQYWNrYWdlR3JvdXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vZGVsUGFja2FnZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbFBhY2thZ2VHcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1wYWNrYWdlLWdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsUGFja2FnZUdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbFBhY2thZ2VHcm91cE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24vJHtwcm9wcy5tb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLm1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vbml0b3Jpbmctc2NoZWR1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9uaXRvcmluZ1NjaGVkdWxlKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9uaXRvcmluZy1zY2hlZHVsZS8ke3Byb3BzLm1vbml0b3JpbmdTY2hlZHVsZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vbml0b3Jpbmctc2NoZWR1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vbml0b3JpbmdTY2hlZHVsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb25pdG9yaW5nU2NoZWR1bGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9uaXRvcmluZy1zY2hlZHVsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb25pdG9yaW5nU2NoZWR1bGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9uaXRvcmluZ1NjaGVkdWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vbml0b3Jpbmctc2NoZWR1bGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogbWF0Y2guZ3JvdXBzIS5tb25pdG9yaW5nU2NoZWR1bGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9uaXRvcmluZ1NjaGVkdWxlQWxlcnQoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vbml0b3Jpbmctc2NoZWR1bGUvJHtwcm9wcy5tb25pdG9yaW5nU2NoZWR1bGVOYW1lfS9hbGVydC8ke3Byb3BzLm1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogbWF0Y2guZ3JvdXBzIS5tb25pdG9yaW5nU2NoZWR1bGVOYW1lLFxuXHRcdFx0bW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lOiBtYXRjaC5ncm91cHMhLm1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBub3RlYm9vay1pbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBub3RlYm9va0luc3RhbmNlKHByb3BzOiBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpub3RlYm9vay1pbnN0YW5jZS8ke3Byb3BzLm5vdGVib29rSW5zdGFuY2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBub3RlYm9vay1pbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTm90ZWJvb2tJbnN0YW5jZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBOb3RlYm9va0luc3RhbmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG5vdGVib29rLWluc3RhbmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU5vdGVib29rSW5zdGFuY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE5vdGVib29rSW5zdGFuY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbm90ZWJvb2staW5zdGFuY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bm90ZWJvb2tJbnN0YW5jZU5hbWU6IG1hdGNoLmdyb3VwcyEubm90ZWJvb2tJbnN0YW5jZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcvJHtwcm9wcy5ub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLm5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG9wdGltaXphdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgb3B0aW1pemF0aW9uSm9iKHByb3BzOiBTYWdlTWFrZXJPcHRpbWl6YXRpb25Kb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om9wdGltaXphdGlvbi1qb2IvJHtwcm9wcy5vcHRpbWl6YXRpb25Kb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBvcHRpbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPcHRpbWl6YXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT3B0aW1pemF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG9wdGltaXphdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT3B0aW1pemF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJPcHRpbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9wdGltaXphdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvcHRpbWl6YXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG9wdGltaXphdGlvbkpvYk5hbWU6IG1hdGNoLmdyb3VwcyEub3B0aW1pemF0aW9uSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwYXJ0bmVyLWFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwYXJ0bmVyQXBwKHByb3BzOiBTYWdlTWFrZXJQYXJ0bmVyQXBwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwYXJ0bmVyLWFwcC8ke3Byb3BzLmFwcElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwYXJ0bmVyLWFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGFydG5lckFwcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQYXJ0bmVyQXBwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBhcnRuZXItYXBwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBhcnRuZXJBcHBBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJQYXJ0bmVyQXBwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQYXJ0bmVyQXBwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhcnRuZXItYXBwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFwcElkOiBtYXRjaC5ncm91cHMhLmFwcElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBpcGVsaW5lIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBpcGVsaW5lKHByb3BzOiBTYWdlTWFrZXJQaXBlbGluZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGlwZWxpbmUvJHtwcm9wcy5waXBlbGluZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBpcGVsaW5lIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQaXBlbGluZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQaXBlbGluZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwaXBlbGluZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQaXBlbGluZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclBpcGVsaW5lQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQaXBlbGluZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwaXBlbGluZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwaXBlbGluZU5hbWU6IG1hdGNoLmdyb3VwcyEucGlwZWxpbmVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBpcGVsaW5lLWV4ZWN1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwaXBlbGluZUV4ZWN1dGlvbihwcm9wczogU2FnZU1ha2VyUGlwZWxpbmVFeGVjdXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBpcGVsaW5lLyR7cHJvcHMucGlwZWxpbmVOYW1lfS9leGVjdXRpb24vJHtwcm9wcy5yYW5kb21TdHJpbmd9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBpcGVsaW5lLWV4ZWN1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGlwZWxpbmVFeGVjdXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUGlwZWxpbmVFeGVjdXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcGlwZWxpbmUtZXhlY3V0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBpcGVsaW5lRXhlY3V0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJQaXBlbGluZUV4ZWN1dGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGlwZWxpbmVFeGVjdXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGlwZWxpbmUtZXhlY3V0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBpcGVsaW5lTmFtZTogbWF0Y2guZ3JvdXBzIS5waXBlbGluZU5hbWUsXG5cdFx0XHRyYW5kb21TdHJpbmc6IG1hdGNoLmdyb3VwcyEucmFuZG9tU3RyaW5nLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb2Nlc3Npbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb2Nlc3NpbmdKb2IocHJvcHM6IFNhZ2VNYWtlclByb2Nlc3NpbmdKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb2Nlc3Npbmctam9iLyR7cHJvcHMucHJvY2Vzc2luZ0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb2Nlc3Npbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9jZXNzaW5nSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb2Nlc3NpbmdKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvY2Vzc2luZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvY2Vzc2luZ0pvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyUHJvY2Vzc2luZ0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvY2Vzc2luZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9jZXNzaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9jZXNzaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5wcm9jZXNzaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm9qZWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb2plY3QocHJvcHM6IFNhZ2VNYWtlclByb2plY3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb2plY3QvJHtwcm9wcy5wcm9qZWN0TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvamVjdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9qZWN0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb2plY3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvamVjdEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclByb2plY3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb2plY3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvamVjdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9qZWN0TmFtZTogbWF0Y2guZ3JvdXBzIS5wcm9qZWN0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZXNlcnZlZC1jYXBhY2l0eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXNlcnZlZENhcGFjaXR5KHByb3BzOiBTYWdlTWFrZXJSZXNlcnZlZENhcGFjaXR5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXNlcnZlZC1jYXBhY2l0eS8ke3Byb3BzLnJhbmRvbVN0cmluZ31gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVzZXJ2ZWQtY2FwYWNpdHkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlc2VydmVkQ2FwYWNpdHlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVzZXJ2ZWRDYXBhY2l0eUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZXNlcnZlZC1jYXBhY2l0eSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXNlcnZlZENhcGFjaXR5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJSZXNlcnZlZENhcGFjaXR5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNlcnZlZENhcGFjaXR5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlc2VydmVkLWNhcGFjaXR5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJhbmRvbVN0cmluZzogbWF0Y2guZ3JvdXBzIS5yYW5kb21TdHJpbmcsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2FnZW1ha2VyLWNhdGFsb2cgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2FnZW1ha2VyQ2F0YWxvZyhwcm9wczogU2FnZU1ha2VyU2FnZW1ha2VyQ2F0YWxvZ0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2FnZW1ha2VyLWNhdGFsb2cvJHtwcm9wcy5yZXNvdXJjZUNhdGFsb2dOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzYWdlbWFrZXItY2F0YWxvZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2FnZW1ha2VyQ2F0YWxvZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTYWdlbWFrZXJDYXRhbG9nQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNhZ2VtYWtlci1jYXRhbG9nIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNhZ2VtYWtlckNhdGFsb2dBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclNhZ2VtYWtlckNhdGFsb2dBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNhZ2VtYWtlckNhdGFsb2dBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2FnZW1ha2VyLWNhdGFsb2cgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VDYXRhbG9nTmFtZTogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUNhdGFsb2dOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNoYXJlZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzaGFyZWRNb2RlbChwcm9wczogU2FnZU1ha2VyU2hhcmVkTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNoYXJlZC1tb2RlbC8ke3Byb3BzLnNoYXJlZE1vZGVsSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNoYXJlZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2hhcmVkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2hhcmVkTW9kZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2hhcmVkLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNoYXJlZE1vZGVsQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyU2hhcmVkTW9kZWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNoYXJlZE1vZGVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNoYXJlZC1tb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzaGFyZWRNb2RlbElkOiBtYXRjaC5ncm91cHMhLnNoYXJlZE1vZGVsSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2hhcmVkLW1vZGVsLWV2ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNoYXJlZE1vZGVsRXZlbnQocHJvcHM6IFNhZ2VNYWtlclNoYXJlZE1vZGVsRXZlbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNoYXJlZC1tb2RlbC1ldmVudC8ke3Byb3BzLmV2ZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNoYXJlZC1tb2RlbC1ldmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2hhcmVkTW9kZWxFdmVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTaGFyZWRNb2RlbEV2ZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNoYXJlZC1tb2RlbC1ldmVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTaGFyZWRNb2RlbEV2ZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJTaGFyZWRNb2RlbEV2ZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTaGFyZWRNb2RlbEV2ZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNoYXJlZC1tb2RlbC1ldmVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRldmVudElkOiBtYXRjaC5ncm91cHMhLmV2ZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc3BhY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc3BhY2UocHJvcHM6IFNhZ2VNYWtlclNwYWNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzcGFjZS8ke3Byb3BzLmRvbWFpbklkfS8ke3Byb3BzLnNwYWNlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc3BhY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNwYWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNwYWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNwYWNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNwYWNlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyU3BhY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNwYWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNwYWNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbklkOiBtYXRjaC5ncm91cHMhLmRvbWFpbklkLFxuXHRcdFx0c3BhY2VOYW1lOiBtYXRjaC5ncm91cHMhLnNwYWNlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzdHVkaW9MaWZlY3ljbGVDb25maWcoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlclN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZy8ke3Byb3BzLnN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTdHVkaW9MaWZlY3ljbGVDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZTogbWF0Y2guZ3JvdXBzIS5zdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRyYWluaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0cmFpbmluZ0pvYihwcm9wczogU2FnZU1ha2VyVHJhaW5pbmdKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRyYWluaW5nLWpvYi8ke3Byb3BzLnRyYWluaW5nSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdHJhaW5pbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUcmFpbmluZ0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUcmFpbmluZ0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cmFpbmluZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVHJhaW5pbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJUcmFpbmluZ0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVHJhaW5pbmdKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhaW5pbmctam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyYWluaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS50cmFpbmluZ0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdHJhaW5pbmctcGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0cmFpbmluZ1BsYW4ocHJvcHM6IFNhZ2VNYWtlclRyYWluaW5nUGxhbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dHJhaW5pbmctcGxhbi8ke3Byb3BzLnRyYWluaW5nUGxhbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRyYWluaW5nLXBsYW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRyYWluaW5nUGxhbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUcmFpbmluZ1BsYW5Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdHJhaW5pbmctcGxhbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUcmFpbmluZ1BsYW5Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJUcmFpbmluZ1BsYW5Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRyYWluaW5nUGxhbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0cmFpbmluZy1wbGFuIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyYWluaW5nUGxhbk5hbWU6IG1hdGNoLmdyb3VwcyEudHJhaW5pbmdQbGFuTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0cmFuc2Zvcm0tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRyYW5zZm9ybUpvYihwcm9wczogU2FnZU1ha2VyVHJhbnNmb3JtSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0cmFuc2Zvcm0tam9iLyR7cHJvcHMudHJhbnNmb3JtSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdHJhbnNmb3JtLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVHJhbnNmb3JtSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRyYW5zZm9ybUpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cmFuc2Zvcm0tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRyYW5zZm9ybUpvYkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclRyYW5zZm9ybUpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVHJhbnNmb3JtSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyYW5zZm9ybS1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dHJhbnNmb3JtSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS50cmFuc2Zvcm1Kb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHVzZXItcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB1c2VyUHJvZmlsZShwcm9wczogU2FnZU1ha2VyVXNlclByb2ZpbGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnVzZXItcHJvZmlsZS8ke3Byb3BzLmRvbWFpbklkfS8ke3Byb3BzLnVzZXJQcm9maWxlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdXNlci1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRVc2VyUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBVc2VyUHJvZmlsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB1c2VyLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVXNlclByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJVc2VyUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVXNlclByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdXNlci1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbklkOiBtYXRjaC5ncm91cHMhLmRvbWFpbklkLFxuXHRcdFx0dXNlclByb2ZpbGVOYW1lOiBtYXRjaC5ncm91cHMhLnVzZXJQcm9maWxlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3JrZm9yY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgd29ya2ZvcmNlKHByb3BzOiBTYWdlTWFrZXJXb3JrZm9yY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Ondvcmtmb3JjZS8ke3Byb3BzLndvcmtmb3JjZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdvcmtmb3JjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV29ya2ZvcmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFdvcmtmb3JjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3JrZm9yY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV29ya2ZvcmNlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyV29ya2ZvcmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3JrZm9yY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd29ya2ZvcmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHdvcmtmb3JjZU5hbWU6IG1hdGNoLmdyb3VwcyEud29ya2ZvcmNlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3JrdGVhbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3JrdGVhbShwcm9wczogU2FnZU1ha2VyV29ya3RlYW1Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Ondvcmt0ZWFtLyR7cHJvcHMud29ya3RlYW1OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3b3JrdGVhbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV29ya3RlYW1Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV29ya3RlYW1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgd29ya3RlYW0gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV29ya3RlYW1Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJXb3JrdGVhbUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV29ya3RlYW1Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd29ya3RlYW0gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0d29ya3RlYW1OYW1lOiBtYXRjaC5ncm91cHMhLndvcmt0ZWFtTmFtZSxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBzYWdlbWFrZXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYWdlTWFrZXJPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6QWRkQXNzb2NpYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZFRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpBZGRUYWdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVUcmlhbENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVRyaWFsQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBc3NvY2lhdGVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBdHRhY2hDbHVzdGVyTm9kZU5ldHdvcmtJbnRlcmZhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hDbHVzdGVyTm9kZU5ldHdvcmtJbnRlcmZhY2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoQWRkQ2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hBZGRDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoQWRkQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0TWV0cmljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0TWV0cmljczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6QmF0Y2hHZXRNZXRyaWNzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpCYXRjaEdldFJlY29yZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hQdXRNZXRyaWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hQdXRNZXRyaWNzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpCYXRjaFB1dE1ldHJpY3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUmVib290Q2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoUmVib290Q2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUmVwbGFjZUNsdXN0ZXJOb2RlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUmVwbGFjZUNsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoV3JpdGVSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFdyaXRlUmVjb3JkOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaFdyaXRlUmVjb3JkXCIsXG5cdFx0XCJzYWdlbWFrZXI6UHV0UmVjb3JkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbXBsZXRlUm9sbG91dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlUm9sbG91dDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwic2FnZW1ha2VyOkNvbXBsZXRlUm9sbG91dFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJQmVuY2htYXJrSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQUlCZW5jaG1hcmtKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFsZ29yaXRobSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFsZ29yaXRobTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFsZ29yaXRobVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFwcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBcHBJbWFnZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcEltYWdlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9NTEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9NTEpvYlYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2JWMlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb2RlUmVwb3NpdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvZGVSZXBvc2l0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21waWxhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUNvbXBpbGF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29tcHV0ZVF1b3RhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250ZXh0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29udGV4dFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVEb21haW5cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW46IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVuZHBvaW50Q29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFbmRwb2ludENvbmZpZ1wiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGZWF0dXJlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVGZWF0dXJlR3JvdXBcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGbG93RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRmxvd0RlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJsczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHVtYW5UYXNrVWk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUltYWdlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSm9iXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMYWJlbGluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhYmVsaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dBcHBcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxcIixcblx0XHRcInNhZ2VtYWtlcjpEZXBsb3lIdWJNb2RlbFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQ2FyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUGFja2FnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU9wdGltaXphdGlvbkpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBhcnRuZXJBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQaXBlbGluZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVBpcGVsaW5lXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWREb21haW5VcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2Nlc3NpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcm9jZXNzaW5nSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcm9qZWN0XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTcGFjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVNwYWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmFpbmluZ1BsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ1BsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVSZXNlcnZlZENhcGFjaXR5XCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRyYW5zZm9ybUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYW5zZm9ybUpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyYW5zZm9ybUpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmlhbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJpYWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJpYWxDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVVc2VyUHJvZmlsZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmb3JjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVdvcmtmb3JjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlV29ya3RlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQUlCZW5jaG1hcmtKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSUJlbmNobWFya0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQUlCZW5jaG1hcmtKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQUlXb3JrbG9hZENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFJV29ya2xvYWRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFsZ29yaXRobSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFsZ29yaXRobTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQWxnb3JpdGhtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBwSW1hZ2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBJbWFnZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFzc29jaWF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29kZVJlcG9zaXRvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb2RlUmVwb3NpdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb21waWxhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQ29tcGlsYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29tcHV0ZVF1b3RhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcHV0ZVF1b3RhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVDb21wdXRlUXVvdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29udGV4dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbnRleHQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUNvbnRleHRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURldmljZUZsZWV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGV2aWNlRmxlZXQ6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlRG9tYWluXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFBsYW46IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRW5kcG9pbnRDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUV4cGVyaW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZlYXR1cmVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRmVhdHVyZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZsb3dEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUZsb3dEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSHViXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIdWJDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViQ29udGVudDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHVtYW5Mb29wOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVIdW1hbkxvb3BcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHVtYW5UYXNrVWk6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUh1bWFuVGFza1VpXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltYWdlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW1hZ2VWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1hZ2VWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1sZmxvd0FwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd0FwcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlTWxmbG93QXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxDYXJkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU5vdGVib29rSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlT3B0aW1pemF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBhcnRuZXJBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXJ0bmVyQXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVQYXJ0bmVyQXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQaXBlbGluZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBpcGVsaW5lOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVQaXBlbGluZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2Nlc3NpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZVByb2Nlc3NpbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2plY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVByb2plY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29yZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlUmVjb3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNwYWNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGFncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhZ3M6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJhaW5pbmdKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVRyYWluaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUcmlhbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyaWFsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVUcmlhbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVHJpYWxDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlVHJpYWxDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVXNlclByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyUHJvZmlsZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlVXNlclByb2ZpbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmb3JjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlV29ya2ZvcmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVXb3JrdGVhbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlckRldmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlCZW5jaG1hcmtKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQUlCZW5jaG1hcmtKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjdGlvbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWxnb3JpdGhtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBbGdvcml0aG06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQWxnb3JpdGhtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHBJbWFnZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwSW1hZ2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcnRpZmFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXV0b01MSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUF1dG9NTEpvYlYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2JWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyRXZlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJFdmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyRXZlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyTm9kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3Rlck5vZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3Rlck5vZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb2RlUmVwb3NpdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29kZVJlcG9zaXRvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb21waWxhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcGlsYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ29tcGlsYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb21wdXRlUXVvdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXB1dGVRdW90YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDb21wdXRlUXVvdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb250ZXh0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb250ZXh0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUNvbnRleHRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGV2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZXZpY2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGV2aWNlRmxlZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9tYWluOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFbmRwb2ludENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGZWF0dXJlTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlTWV0YWRhdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGbG93RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxvd0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRmxvd0RlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSHViQ29udGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHViQ29udGVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJDb250ZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdW1hbkxvb3A6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5Mb29wXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdW1hblRhc2tVaTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIdW1hblRhc2tVaVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbWFnZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSm9iU2NoZW1hVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iU2NoZW1hVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGFiZWxpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxhYmVsaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUxhYmVsaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGluZWFnZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaW5lYWdlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTGluZWFnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWxmbG93QXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93QXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbENhcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxQYWNrYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlT3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlT3B0aW1pemF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGFydG5lckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGFydG5lckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQYXJ0bmVyQXBwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBpcGVsaW5lRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByb2Nlc3NpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2Nlc3NpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUHJvY2Vzc2luZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2plY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlUHJvamVjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3BhY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlU3BhY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhaW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhaW5pbmdQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ1BsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhbnNmb3JtSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFuc2Zvcm1Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhbnNmb3JtSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyaWFsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VyUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVVc2VyUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya2ZvcmNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVdvcmtmb3JjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3RlYW06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlV29ya3RlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGFjaENsdXN0ZXJOb2RlVm9sdW1lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRldGFjaENsdXN0ZXJOb2RlVm9sdW1lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW86IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4dGVuZFRyYWluaW5nUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4dGVuZFRyYWluaW5nUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RXh0ZW5kVHJhaW5pbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERlcGxveW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREZXBsb3ltZW50czogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGV2aWNlRmxlZXRSZXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERldmljZUZsZWV0UmVwb3J0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREZXZpY2VSZWdpc3RyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERldmljZVJlZ2lzdHJhdGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TGluZWFnZUdyb3VwUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMaW5lYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldExpbmVhZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpHZXRSZWNvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6R2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZWFyY2hTdWdnZXN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VhcmNoU3VnZ2VzdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldFNlYXJjaFN1Z2dlc3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydEh1YkNvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRIdWJDb250ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkludm9rZUVuZHBvaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VFbmRwb2ludEFzeW5jIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRBc3luYzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRBc3luY1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJQmVuY2htYXJrSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSUJlbmNobWFya0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RBSUJlbmNobWFya0pvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJV29ya2xvYWRDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJV29ya2xvYWRDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlXb3JrbG9hZENvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFjdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBbGdvcml0aG1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsZ29yaXRobXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWxpYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGlhc2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0QWxpYXNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcEltYWdlQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbWFnZUNvbmZpZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RBcHBJbWFnZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFwcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcnRpZmFjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXJ0aWZhY3RzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0QXJ0aWZhY3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFzc29jaWF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF1dG9NTEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b01MSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEF1dG9NTEpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbHVzdGVyRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJFdmVudHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDbHVzdGVyRXZlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJOb2Rlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb2RlUmVwb3NpdG9yaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvZGVSZXBvc2l0b3JpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RDb2RlUmVwb3NpdG9yaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb21waWxhdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcGlsYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q29tcGlsYXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb21wdXRlUXVvdGFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXB1dGVRdW90YXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDb21wdXRlUXVvdGFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29udGV4dHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29udGV4dHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDb250ZXh0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERldmljZUZsZWV0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VGbGVldHM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3REb21haW5zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RWRnZURlcGxveW1lbnRQbGFucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFZGdlRGVwbG95bWVudFBsYW5zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RWRnZVBhY2thZ2luZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZVBhY2thZ2luZ0pvYnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmRwb2ludENvbmZpZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmRwb2ludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXhwZXJpbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhwZXJpbWVudHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RFeHBlcmltZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZlYXR1cmVHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmVhdHVyZUdyb3Vwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEZlYXR1cmVHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93RGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0RlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Rmxvd0RlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdWJDb250ZW50VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHViQ29udGVudFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0SHViQ29udGVudFZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdWJDb250ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJDb250ZW50czogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHVicyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SHVic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEh1bWFuTG9vcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5Mb29wczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1bWFuTG9vcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdW1hblRhc2tVaXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5UYXNrVWlzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SHVtYW5UYXNrVWlzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1hZ2VWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SW1hZ2VWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEltYWdlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RJbWFnZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VDb21wb25lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZUNvbXBvbmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VDb21wb25lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VFeHBlcmltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VFeHBlcmltZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RKb2JTY2hlbWFWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JTY2hlbWFWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEpvYlNjaGVtYVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvYnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TGFiZWxpbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExpbmVhZ2VHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGluZWFnZUdyb3Vwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdExpbmVhZ2VHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNbGZsb3dBcHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd0FwcHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNbGZsb3dBcHBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd1RyYWNraW5nU2VydmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1sZmxvd1RyYWNraW5nU2VydmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkRXhwb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRFeHBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkRXhwb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbENhcmRWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxNZXRhZGF0YTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdE1vZGVsTWV0YWRhdGFcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbFBhY2thZ2VHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxQYWNrYWdlR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlR3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbFBhY2thZ2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUGFja2FnZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNb2RlbFBhY2thZ2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdE1vZGVsc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdBbGVydHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdTY2hlZHVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ1NjaGVkdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdTY2hlZHVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGVib29rSW5zdGFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9wdGltaXphdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3B0aW1pemF0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE9wdGltaXphdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBhcnRuZXJBcHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJBcHBzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0UGFydG5lckFwcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZUV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVFeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZVBhcmFtZXRlcnNGb3JFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZVZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvY2Vzc2luZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvY2Vzc2luZ0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQcm9jZXNzaW5nSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvamVjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvamVjdHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RQcm9qZWN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3Jkczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFJlY29yZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvdXJjZUNhdGFsb2dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlQ2F0YWxvZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RSZXNvdXJjZUNhdGFsb2dzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3BhY2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0U3BhY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3RhZ2VEZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0YWdlRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN1YnNjcmliZWRXb3JrdGVhbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3Vic2NyaWJlZFdvcmt0ZWFtczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFN1YnNjcmliZWRXb3JrdGVhbXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmFpbmluZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJhaW5pbmdQbGFucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ1BsYW5zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdQbGFuc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRyYW5zZm9ybUpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhbnNmb3JtSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlhbENvbXBvbmVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxDb21wb25lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0VHJpYWxDb21wb25lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlhbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJpYWxzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VXNlclByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVzZXJQcm9maWxlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFVzZXJQcm9maWxlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdvcmtmb3JjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2ZvcmNlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFdvcmtmb3JjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RXb3JrdGVhbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya3RlYW1zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0V29ya3RlYW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWNvcmQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlB1dFJlY29yZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUXVlcnlMaW5lYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUXVlcnlMaW5lYWdlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpRdWVyeUxpbmVhZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyRGV2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVuZGVyVWlUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbmRlclVpVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6UmVuZGVyVWlUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXRyeVBpcGVsaW5lRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlQaXBlbGluZUV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UmV0cnlQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTYW1wbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTYW1wbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcInNhZ2VtYWtlcjpTYW1wbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlYXJjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U2VhcmNoXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kSGVhcnRiZWF0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEhlYXJ0YmVhdDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2Vzczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRDbHVzdGVySGVhbHRoQ2hlY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENsdXN0ZXJIZWFsdGhDaGVjazogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRDbHVzdGVySGVhbHRoQ2hlY2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEh1bWFuTG9vcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SHVtYW5Mb29wOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydEluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNb25pdG9yaW5nU2NoZWR1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnROb3RlYm9va0luc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydE5vdGVib29rSW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0UGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdGFydFNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BBSUJlbmNobWFya0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcEFJQmVuY2htYXJrSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJUmVjb21tZW5kYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BBSVJlY29tbWVuZGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBdXRvTUxKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQXV0b01MSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wQXV0b01MSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQ29tcGlsYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BDb21waWxhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRWRnZURlcGxveW1lbnRTdGFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRWRnZVBhY2thZ2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlUGFja2FnaW5nSm9iOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh1bWFuTG9vcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcEh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcEluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlN0b3BKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BMYWJlbGluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BMYWJlbGluZ0pvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcExhYmVsaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcE1vbml0b3JpbmdTY2hlZHVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wT3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcE9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUGlwZWxpbmVFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQcm9jZXNzaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wUHJvY2Vzc2luZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wVHJhaW5pbmdKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BUcmFuc2Zvcm1Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhbnNmb3JtSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wVHJhbnNmb3JtSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY3Rpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUFjdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXBwSW1hZ2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHBJbWFnZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaEFkZENsdXN0ZXJOb2Rlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvZGVSZXBvc2l0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29kZVJlcG9zaXRvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbXB1dGVRdW90YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbXB1dGVRdW90YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250ZXh0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVDb250ZXh0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZURvbWFpblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRW5kcG9pbnRXZWlnaHRzQW5kQ2FwYWNpdGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUV4cGVyaW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZlYXR1cmVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZlYXR1cmVNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZU1ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlSHViXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVIdWJDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViQ29udGVudDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbWFnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZU1sZmxvd0FwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTW9kZWxDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9kZWxDYXJkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsUGFja2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vbml0b3JpbmdBbGVydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdBbGVydDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ0FsZXJ0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQYXJ0bmVyQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGFydG5lckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVBhcnRuZXJBcHBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQaXBlbGluZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVByb2plY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpQdXRSZWNvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJld2FyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJld2FyZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVJld2FyZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNwYWNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVHJhaW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmFpbmluZ0pvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlVHJhaW5pbmdKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRyaWFsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJpYWw6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVRyaWFsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUcmlhbENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyaWFsQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVVc2VyUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXJQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVVzZXJQcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtmb3JjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlV29ya2ZvcmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVXb3JrdGVhbVwiXTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIHNhZ2VtYWtlci5cbiAqL1xuZXhwb3J0IGNsYXNzIFNhZ2VNYWtlckNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQWRkVGFncyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VGFnZ2luZ0FjdGlvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ2FsbFdpdGhCZWFyZXJUb2tlbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDYWxsV2l0aEJlYXJlclRva2VuQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmVhcmVyVG9rZW5UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBSUJlbmNobWFya0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSUJlbmNobWFya0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJV29ya2xvYWRDb25maWdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY3Rpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFsZ29yaXRobSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBbGdvcml0aG1Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFwcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXBwSW1hZ2VDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwSW1hZ2VDb25maWdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFydGlmYWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFydGlmYWN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvTUxKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvTUxKb2JWMiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvTUxKb2JWMkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvZGVSZXBvc2l0b3J5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvZGVSZXBvc2l0b3J5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb21waWxhdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21waWxhdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29tcHV0ZVF1b3RhIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXB1dGVRdW90YUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29udGV4dCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250ZXh0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEZXZpY2VGbGVldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEZXZpY2VGbGVldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRG9tYWluIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvbWFpbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkFwcE5ldHdvcmtBY2Nlc3NUeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6QXV0aE1vZGVcIixcblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZURlcGxveW1lbnRTdGFnZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFbmRwb2ludCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRW5kcG9pbnRDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnRDb25maWdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeVwiLFxuXHRcdFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNZW1vcnlTaXplXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUV4cGVyaW1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhwZXJpbWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRmVhdHVyZUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZlYXR1cmVHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cERpc2FibGVHbHVlVGFibGVDcmVhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlUzNVcmlcIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleUFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRmxvd0RlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd0RlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpXb3JrdGVhbUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOldvcmt0ZWFtVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSHViIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIdW1hblRhc2tVaSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdW1hblRhc2tVaUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZVwiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbUlkXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbVR5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUltYWdlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxBcm5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVMYWJlbGluZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMYWJlbGluZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOldvcmt0ZWFtQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6V29ya3RlYW1UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNbGZsb3dBcHAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93QXBwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWwgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsQ2FyZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcblx0XHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRcdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOb3RlYm9va0luc3RhbmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkRpcmVjdEludGVybmV0QWNjZXNzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb25cIixcblx0XHRcInNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOlJvb3RBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLCBcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlT3B0aW1pemF0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wdGltaXphdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUGFydG5lckFwcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQaXBlbGluZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQaXBlbGluZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvY2Vzc2luZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9jZXNzaW5nSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm9qZWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2plY3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlc2VydmVkQ2FwYWNpdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU3BhY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJhaW5pbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWdcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZVwiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbUlkXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbVR5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOktlZXBBbGl2ZVBlcmlvZFwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRyYWluaW5nUGxhbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ1BsYW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRyYW5zZm9ybUpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFuc2Zvcm1Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRyaWFsIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUcmlhbENvbXBvbmVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbENvbXBvbmVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVXNlclByb2ZpbGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlclByb2ZpbGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlV29ya2ZvcmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmb3JjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlV29ya3RlYW0gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya3RlYW1Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUFwcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlRmVhdHVyZUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZlYXR1cmVHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTcGFjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVUYWdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVQaXBlbGluZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEltcG9ydEh1YkNvbnRlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0SHViQ29udGVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlRW5kcG9pbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpUYXJnZXRNb2RlbFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0UmVjb3JkIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlY29yZENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOklzVXBkYXRlUmVjb3JkXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRhYmxlRmVhdHVyZXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlZ2lzdGVyRGV2aWNlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckRldmljZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFNlYXJjaCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTZWFyY2hWaXNpYmlsaXR5Q29uZGl0aW9uLyR7RmlsdGVyS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRQaXBlbGluZUV4ZWN1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFBpcGVsaW5lRXhlY3V0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUNsdXN0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlRG9tYWluIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvbWFpbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFwcE5ldHdvcmtBY2Nlc3NUeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVNb2RlbFBhY2thZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9kZWxQYWNrYWdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIixcblx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxBcHByb3ZhbFN0YXR1c1wiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VTdGF0dXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZU5vdGVib29rSW5zdGFuY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvblwiLFxuXHRcdFwic2FnZW1ha2VyOk5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6Um9vdEFjY2Vzc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlUGlwZWxpbmVWZXJzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lVmVyc2lvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVQcm9qZWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb2plY3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6UmVtb3RlQWNjZXNzXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVRyYWluaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyYWluaW5nSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWdcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVVc2VyUHJvZmlsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVVc2VyUHJvZmlsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQUNDRUxFUkFUT1JfVFlQRVMgPSBcInNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFQUF9ORVRXT1JLX0FDQ0VTU19UWVBFID0gXCJzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpBdXRoTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVVUSF9NT0RFID0gXCJzYWdlbWFrZXI6QXV0aE1vZGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJFQVJFUl9UT0tFTl9UWVBFID0gXCJzYWdlbWFrZXI6QmVhcmVyVG9rZW5UeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Q3VycmVudEN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDVVJSRU5UX0NVU1RPTUVSX01FVEFEQVRBX1BST1BFUlRJRVMgPVxuXHRcdFwic2FnZW1ha2VyOkN1cnJlbnRDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDVVJSRU5UX01PREVMX0xJRkVfQ1lDTEVfU1RBR0UgPVxuXHRcdFwic2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENVUlJFTlRfTU9ERUxfTElGRV9DWUNMRV9TVEFHRV9TVEFUVVMgPVxuXHRcdFwic2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlU3RhdHVzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENVU1RPTUVSX01FVEFEQVRBX1BST1BFUlRJRVMgPVxuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXNUb1JlbW92ZSAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENVU1RPTUVSX01FVEFEQVRBX1BST1BFUlRJRVNfVE9fUkVNT1ZFID1cblx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RGlyZWN0R2F0ZWRNb2RlbEFjY2VzcyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRElSRUNUX0dBVEVEX01PREVMX0FDQ0VTUyA9XG5cdFx0XCJzYWdlbWFrZXI6RGlyZWN0R2F0ZWRNb2RlbEFjY2Vzc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkRpcmVjdEludGVybmV0QWNjZXNzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBESVJFQ1RfSU5URVJORVRfQUNDRVNTID0gXCJzYWdlbWFrZXI6RGlyZWN0SW50ZXJuZXRBY2Nlc3NcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpEb21haW5JZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRE9NQUlOX0lEID0gXCJzYWdlbWFrZXI6RG9tYWluSWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBET01BSU5fU0hBUklOR19PVVRQVVRfS01TX0tFWSA9XG5cdFx0XCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IERPTUFJTl9TSEFSSU5HX09VVFBVVF9LTVNfS0VZX0FSTiA9XG5cdFx0XCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkVuYWJsZVJlbW90ZURlYnVnIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRU5BQkxFX1JFTU9URV9ERUJVRyA9IFwic2FnZW1ha2VyOkVuYWJsZVJlbW90ZURlYnVnXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkVBVFVSRV9HUk9VUF9ESVNBQkxFX0dMVUVfVEFCTEVfQ1JFQVRJT04gPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cERpc2FibGVHbHVlVGFibGVDcmVhdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkVBVFVSRV9HUk9VUF9FTkFCTEVfT05MSU5FX1NUT1JFID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBFbmFibGVPbmxpbmVTdG9yZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUNvbmZpZyAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZFQVRVUkVfR1JPVVBfT0ZGTElORV9TVE9SRV9DT05GSUcgPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUNvbmZpZ1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkVBVFVSRV9HUk9VUF9PRkZMSU5FX1NUT1JFX0tNU19LRVkgPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkVBVFVSRV9HUk9VUF9PRkZMSU5FX1NUT1JFX0tNU19LRVlfQVJOID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VyaSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkVBVFVSRV9HUk9VUF9PRkZMSU5FX1NUT1JFX1MzX1VSSSA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlUzNVcmlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkVBVFVSRV9HUk9VUF9PTkxJTkVfU1RPUkVfS01TX0tFWSA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkVBVFVSRV9HUk9VUF9PTkxJTkVfU1RPUkVfS01TX0tFWV9BUk4gPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5QXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmlsZVN5c3RlbUFjY2Vzc01vZGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJTEVfU1lTVEVNX0FDQ0VTU19NT0RFID0gXCJzYWdlbWFrZXI6RmlsZVN5c3RlbUFjY2Vzc01vZGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRklMRV9TWVNURU1fRElSRUNUT1JZX1BBVEggPVxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmlsZVN5c3RlbUlkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGSUxFX1NZU1RFTV9JRCA9IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1JZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZpbGVTeXN0ZW1UeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGSUxFX1NZU1RFTV9UWVBFID0gXCJzYWdlbWFrZXI6RmlsZVN5c3RlbVR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpIb21lRWZzRmlsZVN5c3RlbUttc0tleSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSE9NRV9FRlNfRklMRV9TWVNURU1fS01TX0tFWSA9XG5cdFx0XCJzYWdlbWFrZXI6SG9tZUVmc0ZpbGVTeXN0ZW1LbXNLZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpJbWFnZUFybnMgKEFycmF5T2ZBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBJTUFHRV9BUk5TID0gXCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJucyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElNQUdFX1ZFUlNJT05fQVJOUyA9IFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5TVEFOQ0VfVFlQRVMgPSBcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvbiAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IElOVEVSX0NPTlRBSU5FUl9UUkFGRklDX0VOQ1JZUFRJT04gPVxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpJc1VwZGF0ZVJlY29yZCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IElTX1VQREFURV9SRUNPUkQgPSBcInNhZ2VtYWtlcjpJc1VwZGF0ZVJlY29yZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOktlZXBBbGl2ZVBlcmlvZCAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEtFRVBfQUxJVkVfUEVSSU9EID0gXCJzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kcyAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1BWF9SVU5USU1FX0lOX1NFQ09ORFMgPSBcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvbiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTUlOSU1VTV9JTlNUQU5DRV9NRVRBREFUQV9TRVJWSUNFX1ZFUlNJT04gPVxuXHRcdFwic2FnZW1ha2VyOk1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9BUFBST1ZBTF9TVEFUVVMgPSBcInNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TW9kZWxBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1PREVMX0FSTiA9IFwic2FnZW1ha2VyOk1vZGVsQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1PREVMX0xJRkVfQ1lDTEVfU1RBR0UgPSBcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9MSUZFX0NZQ0xFX1NUQUdFX1NUQVRVUyA9XG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VTdGF0dXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTkVUV09SS19JU09MQVRJT04gPSBcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnMgKEFycmF5T2ZBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBOT1RFQk9PS19JTlNUQU5DRV9MSUZFQ1lDTEVfQ09ORklHX0FSTlMgPVxuXHRcdFwic2FnZW1ha2VyOk5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6T3V0cHV0S21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBPVVRQVVRfS01TX0tFWSA9IFwic2FnZW1ha2VyOk91dHB1dEttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk91dHB1dEttc0tleUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT1VUUFVUX0tNU19LRVlfQVJOID0gXCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT1dORVJfVVNFUl9QUk9GSUxFX0FSTiA9IFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUElQRUxJTkVfVkVSU0lPTl9JRCA9IFwic2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6UmVtb3RlQWNjZXNzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRU1PVEVfQUNDRVNTID0gXCJzYWdlbWFrZXI6UmVtb3RlQWNjZXNzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6UmVzb3VyY2VUYWcvIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9UQUcgPSBcInNhZ2VtYWtlcjpSZXNvdXJjZVRhZy9cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpSb290QWNjZXNzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBST09UX0FDQ0VTUyA9IFwic2FnZW1ha2VyOlJvb3RBY2Nlc3NcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpTZWFyY2hWaXNpYmlsaXR5Q29uZGl0aW9uLyR7RmlsdGVyS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VBUkNIX1ZJU0lCSUxJVFlfQ09ORElUSU9OID1cblx0XHRcInNhZ2VtYWtlcjpTZWFyY2hWaXNpYmlsaXR5Q29uZGl0aW9uLyR7RmlsdGVyS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeSAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZFUkxFU1NfTUFYX0NPTkNVUlJFTkNZID1cblx0XHRcInNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWF4Q29uY3VycmVuY3lcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWVtb3J5U2l6ZSAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZFUkxFU1NfTUVNT1JZX1NJWkUgPSBcInNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWVtb3J5U2l6ZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNQQUNFX1NIQVJJTkdfVFlQRSA9IFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU1RVRElPX0xJRkVDWUNMRV9DT05GSUdfQVJOUyA9XG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlRhZ2dpbmdBY3Rpb24gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRBR0dJTkdfQUNUSU9OID0gXCJzYWdlbWFrZXI6VGFnZ2luZ0FjdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlRhcmdldE1vZGVsIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBUQVJHRVRfTU9ERUwgPSBcInNhZ2VtYWtlcjpUYXJnZXRNb2RlbFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlVwZGF0YWJsZUZlYXR1cmVzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVVBEQVRBQkxFX0ZFQVRVUkVTID0gXCJzYWdlbWFrZXI6VXBkYXRhYmxlRmVhdHVyZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpVc2VyUHJvZmlsZU5hbWUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVTRVJfUFJPRklMRV9OQU1FID0gXCJzYWdlbWFrZXI6VXNlclByb2ZpbGVOYW1lXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Vm9sdW1lS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBWT0xVTUVfS01TX0tFWSA9IFwic2FnZW1ha2VyOlZvbHVtZUttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlZvbHVtZUttc0tleUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVk9MVU1FX0tNU19LRVlfQVJOID0gXCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZQQ19TRUNVUklUWV9HUk9VUF9JRFMgPSBcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VnBjU3VibmV0cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZQQ19TVUJORVRTID0gXCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOldvcmt0ZWFtQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBXT1JLVEVBTV9BUk4gPSBcInNhZ2VtYWtlcjpXb3JrdGVhbUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOldvcmt0ZWFtVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgV09SS1RFQU1fVFlQRSA9IFwic2FnZW1ha2VyOldvcmt0ZWFtVHlwZVwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlc2AuXG5cdCAqL1xuXHRzdGF0aWMgYWNjZWxlcmF0b3JUeXBlcyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlc1wiOiB2YWx1ZXMgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgYXBwTmV0d29ya0FjY2Vzc1R5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkF1dGhNb2RlYC5cblx0ICovXG5cdHN0YXRpYyBhdXRoTW9kZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpBdXRoTW9kZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkJlYXJlclRva2VuVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgYmVhcmVyVG9rZW5UeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6QmVhcmVyVG9rZW5UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Q3VycmVudEN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9YC5cblx0ICovXG5cdHN0YXRpYyBjdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHtcblx0XHRcdFx0XCJzYWdlbWFrZXI6Q3VycmVudEN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCI6IHZhbHVlLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZWAuXG5cdCAqL1xuXHRzdGF0aWMgY3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2UoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlU3RhdHVzYC5cblx0ICovXG5cdHN0YXRpYyBjdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVN0YXR1cyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVN0YXR1c1wiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9YC5cblx0ICovXG5cdHN0YXRpYyBjdXN0b21lck1ldGFkYXRhUHJvcGVydGllcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXNUb1JlbW92ZWAuXG5cdCAqL1xuXHRzdGF0aWMgY3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXNUb1JlbW92ZShcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXNUb1JlbW92ZVwiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3NgLlxuXHQgKi9cblx0c3RhdGljIGRpcmVjdEdhdGVkTW9kZWxBY2Nlc3MoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RGlyZWN0SW50ZXJuZXRBY2Nlc3NgLlxuXHQgKi9cblx0c3RhdGljIGRpcmVjdEludGVybmV0QWNjZXNzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6RGlyZWN0SW50ZXJuZXRBY2Nlc3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpEb21haW5JZGAuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWluSWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6RG9tYWluSWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyBkb21haW5TaGFyaW5nT3V0cHV0S01TS2V5KFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5gLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpblNoYXJpbmdPdXRwdXRLTVNLZXlBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWdgLlxuXHQgKi9cblx0c3RhdGljIGVuYWJsZVJlbW90ZURlYnVnKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWdcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBEaXNhYmxlR2x1ZVRhYmxlQ3JlYXRpb25gLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cERpc2FibGVHbHVlVGFibGVDcmVhdGlvbihcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Qm9vbDogeyBcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBEaXNhYmxlR2x1ZVRhYmxlQ3JlYXRpb25cIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBFbmFibGVPbmxpbmVTdG9yZWAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmUoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBFbmFibGVPbmxpbmVTdG9yZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUNvbmZpZ2AuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLTVNLZXkoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlBcm5gLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUtNU0tleUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlBcm5cIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VyaWAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlUzNVUkkoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlUzNVcmlcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwT25saW5lU3RvcmVLTVNLZXkoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5QXJuYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUtNU0tleUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleUFyblwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZpbGVTeXN0ZW1BY2Nlc3NNb2RlYC5cblx0ICovXG5cdHN0YXRpYyBmaWxlU3lzdGVtQWNjZXNzTW9kZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1BY2Nlc3NNb2RlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGhgLlxuXHQgKi9cblx0c3RhdGljIGZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGhcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGaWxlU3lzdGVtSWRgLlxuXHQgKi9cblx0c3RhdGljIGZpbGVTeXN0ZW1JZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtSWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgZmlsZVN5c3RlbVR5cGUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmlsZVN5c3RlbVR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpIb21lRWZzRmlsZVN5c3RlbUttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgaG9tZUVGU0ZpbGVTeXN0ZW1LTVNLZXkoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpIb21lRWZzRmlsZVN5c3RlbUttc0tleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkltYWdlQXJuc2AuXG5cdCAqL1xuXHRzdGF0aWMgaW1hZ2VBcm5zKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpJbWFnZUFybnNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc2AuXG5cdCAqL1xuXHRzdGF0aWMgaW1hZ2VWZXJzaW9uQXJucyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6QXJuRXF1YWxzXCI6IHsgXCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiOiB2YWx1ZXMgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzYC5cblx0ICovXG5cdHN0YXRpYyBpbnN0YW5jZVR5cGVzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25gLlxuXHQgKi9cblx0c3RhdGljIGludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb24oXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6SXNVcGRhdGVSZWNvcmRgLlxuXHQgKi9cblx0c3RhdGljIGlzVXBkYXRlUmVjb3JkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJzYWdlbWFrZXI6SXNVcGRhdGVSZWNvcmRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RgLlxuXHQgKi9cblx0c3RhdGljIGtlZXBBbGl2ZVBlcmlvZChcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcInNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzYC5cblx0ICovXG5cdHN0YXRpYyBtYXhSdW50aW1lSW5TZWNvbmRzKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uYC5cblx0ICovXG5cdHN0YXRpYyBtaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOk1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb25cIjogdmFsdWUsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXNgLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQXBwcm92YWxTdGF0dXMoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TW9kZWxBcm5gLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQVJOKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOk1vZGVsQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VgLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsTGlmZUN5Y2xlU3RhZ2UoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzYC5cblx0ICovXG5cdHN0YXRpYyBtb2RlbExpZmVDeWNsZVN0YWdlU3RhdHVzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VTdGF0dXNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uYC5cblx0ICovXG5cdHN0YXRpYyBuZXR3b3JrSXNvbGF0aW9uKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zYC5cblx0ICovXG5cdHN0YXRpYyBub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJucyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6QXJuRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIG91dHB1dEtNU0tleSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5gLlxuXHQgKi9cblx0c3RhdGljIG91dHB1dEtNU0tleUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5gLlxuXHQgKi9cblx0c3RhdGljIG93bmVyVXNlclByb2ZpbGVBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRgLlxuXHQgKi9cblx0c3RhdGljIHBpcGVsaW5lVmVyc2lvbklkKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NgLlxuXHQgKi9cblx0c3RhdGljIHJlbW90ZUFjY2Vzcyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpSb290QWNjZXNzYC5cblx0ICovXG5cdHN0YXRpYyByb290QWNjZXNzKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlJvb3RBY2Nlc3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpTZWFyY2hWaXNpYmlsaXR5Q29uZGl0aW9uLyR7RmlsdGVyS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgc2VhcmNoVmlzaWJpbGl0eUNvbmRpdGlvbihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpTZWFyY2hWaXNpYmlsaXR5Q29uZGl0aW9uLyR7RmlsdGVyS2V5fVwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6U2VydmVybGVzc01heENvbmN1cnJlbmN5YC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2ZXJsZXNzTWF4Q29uY3VycmVuY3koXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJzYWdlbWFrZXI6U2VydmVybGVzc01heENvbmN1cnJlbmN5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6U2VydmVybGVzc01lbW9yeVNpemVgLlxuXHQgKi9cblx0c3RhdGljIHNlcnZlcmxlc3NNZW1vcnlTaXplKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNZW1vcnlTaXplXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgc3BhY2VTaGFyaW5nVHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zYC5cblx0ICovXG5cdHN0YXRpYyBzdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6VGFnZ2luZ0FjdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgdGFnZ2luZ0FjdGlvbih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6VGFyZ2V0TW9kZWxgLlxuXHQgKi9cblx0c3RhdGljIHRhcmdldE1vZGVsKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlRhcmdldE1vZGVsXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6VXBkYXRhYmxlRmVhdHVyZXNgLlxuXHQgKi9cblx0c3RhdGljIHVwZGF0YWJsZUZlYXR1cmVzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpVcGRhdGFibGVGZWF0dXJlc1wiOiB2YWx1ZXMgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpVc2VyUHJvZmlsZU5hbWVgLlxuXHQgKi9cblx0c3RhdGljIHVzZXJQcm9maWxlTmFtZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlVzZXJQcm9maWxlTmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlZvbHVtZUttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgdm9sdW1lS01TS2V5KHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOlZvbHVtZUttc0tleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlZvbHVtZUttc0tleUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgdm9sdW1lS01TS2V5QVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc2AuXG5cdCAqL1xuXHRzdGF0aWMgdnBjU2VjdXJpdHlHcm91cElkcyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiOiB2YWx1ZXMgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpWcGNTdWJuZXRzYC5cblx0ICovXG5cdHN0YXRpYyB2cGNTdWJuZXRzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6V29ya3RlYW1Bcm5gLlxuXHQgKi9cblx0c3RhdGljIHdvcmt0ZWFtQVJOKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOldvcmt0ZWFtQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6V29ya3RlYW1UeXBlYC5cblx0ICovXG5cdHN0YXRpYyB3b3JrdGVhbVR5cGUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6V29ya3RlYW1UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19