@cdk_utils/iam 1.18.0 → 1.19.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 (459) hide show
  1. package/.jsii +2342 -2021
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +4 -4
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +4 -4
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +9 -6
  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 +6 -9
  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 +6 -5
  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 +4 -4
  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.d.ts +2 -0
  146. package/lib/generated/services/ec2.js +7 -5
  147. package/lib/generated/services/ec2messages.js +2 -2
  148. package/lib/generated/services/ecr-public.js +4 -4
  149. package/lib/generated/services/ecr.js +4 -4
  150. package/lib/generated/services/ecs-mcp.js +1 -1
  151. package/lib/generated/services/ecs.js +4 -4
  152. package/lib/generated/services/eks-auth.js +4 -4
  153. package/lib/generated/services/eks-mcp.js +1 -1
  154. package/lib/generated/services/eks.js +4 -4
  155. package/lib/generated/services/elasticache.js +4 -4
  156. package/lib/generated/services/elasticbeanstalk.js +4 -4
  157. package/lib/generated/services/elasticfilesystem.js +4 -4
  158. package/lib/generated/services/elasticloadbalancing.js +4 -4
  159. package/lib/generated/services/elasticmapreduce.js +4 -4
  160. package/lib/generated/services/elastictranscoder.js +2 -2
  161. package/lib/generated/services/elemental-activations.js +1 -1
  162. package/lib/generated/services/elemental-appliances-software.js +2 -2
  163. package/lib/generated/services/elemental-inference.js +4 -4
  164. package/lib/generated/services/elemental-support-cases.js +3 -3
  165. package/lib/generated/services/elemental-support-content.js +1 -1
  166. package/lib/generated/services/emr-containers.js +4 -4
  167. package/lib/generated/services/emr-serverless.js +4 -4
  168. package/lib/generated/services/entityresolution.js +4 -4
  169. package/lib/generated/services/es.js +4 -4
  170. package/lib/generated/services/events.js +4 -4
  171. package/lib/generated/services/eventsbilltoaws.js +3 -3
  172. package/lib/generated/services/evidently.js +3 -3
  173. package/lib/generated/services/evs.js +4 -4
  174. package/lib/generated/services/execute-api.js +4 -4
  175. package/lib/generated/services/finops-agent.js +1 -1
  176. package/lib/generated/services/finspace-api.js +3 -3
  177. package/lib/generated/services/finspace.js +4 -4
  178. package/lib/generated/services/firehose.js +4 -4
  179. package/lib/generated/services/fis.js +4 -4
  180. package/lib/generated/services/fms.js +4 -4
  181. package/lib/generated/services/forecast.js +4 -4
  182. package/lib/generated/services/frauddetector.js +4 -4
  183. package/lib/generated/services/freertos.js +3 -3
  184. package/lib/generated/services/freetier.js +2 -2
  185. package/lib/generated/services/fsx.js +4 -4
  186. package/lib/generated/services/gamelift.js +4 -4
  187. package/lib/generated/services/gameliftstreams.js +4 -4
  188. package/lib/generated/services/geo-maps.js +3 -3
  189. package/lib/generated/services/geo-places.js +3 -3
  190. package/lib/generated/services/geo-routes.js +3 -3
  191. package/lib/generated/services/geo.js +4 -4
  192. package/lib/generated/services/glacier.js +4 -4
  193. package/lib/generated/services/globalaccelerator.js +4 -4
  194. package/lib/generated/services/glue.js +4 -4
  195. package/lib/generated/services/grafana.js +4 -4
  196. package/lib/generated/services/greengrass.js +4 -4
  197. package/lib/generated/services/groundstation.js +4 -4
  198. package/lib/generated/services/groundtruthlabeling.js +1 -1
  199. package/lib/generated/services/guardduty.js +4 -4
  200. package/lib/generated/services/health-agent.js +4 -4
  201. package/lib/generated/services/health.js +4 -4
  202. package/lib/generated/services/healthlake.js +4 -4
  203. package/lib/generated/services/honeycode.js +2 -2
  204. package/lib/generated/services/iam.js +4 -4
  205. package/lib/generated/services/identity-sync.js +2 -2
  206. package/lib/generated/services/identitystore-auth.js +1 -1
  207. package/lib/generated/services/identitystore.js +4 -4
  208. package/lib/generated/services/imagebuilder.js +4 -4
  209. package/lib/generated/services/importexport.js +2 -2
  210. package/lib/generated/services/inspector-scan.js +2 -2
  211. package/lib/generated/services/inspector.js +2 -2
  212. package/lib/generated/services/inspector2-telemetry.js +1 -1
  213. package/lib/generated/services/inspector2.js +4 -4
  214. package/lib/generated/services/interconnect.js +4 -4
  215. package/lib/generated/services/internetmonitor.js +4 -4
  216. package/lib/generated/services/invoicing.js +4 -4
  217. package/lib/generated/services/iot-device-tester.js +1 -1
  218. package/lib/generated/services/iot.js +4 -4
  219. package/lib/generated/services/iotanalytics.js +3 -3
  220. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  221. package/lib/generated/services/iotevents.js +3 -3
  222. package/lib/generated/services/iotfleethub.js +3 -3
  223. package/lib/generated/services/iotfleetwise.js +4 -4
  224. package/lib/generated/services/iotjobsdata.js +4 -4
  225. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  226. package/lib/generated/services/iotsitewise.js +4 -4
  227. package/lib/generated/services/iottwinmaker.js +4 -4
  228. package/lib/generated/services/iotwireless.js +4 -4
  229. package/lib/generated/services/iq-permission.js +2 -2
  230. package/lib/generated/services/iq.js +2 -2
  231. package/lib/generated/services/ivs.js +4 -4
  232. package/lib/generated/services/ivschat.js +4 -4
  233. package/lib/generated/services/kafka-cluster.js +3 -3
  234. package/lib/generated/services/kafka.js +4 -4
  235. package/lib/generated/services/kafkaconnect.js +4 -4
  236. package/lib/generated/services/kendra-ranking.js +4 -4
  237. package/lib/generated/services/kendra.js +4 -4
  238. package/lib/generated/services/kinesis.js +4 -4
  239. package/lib/generated/services/kinesisanalytics.js +4 -4
  240. package/lib/generated/services/kinesisvideo.js +4 -4
  241. package/lib/generated/services/kms.js +4 -4
  242. package/lib/generated/services/lakeformation.js +3 -3
  243. package/lib/generated/services/lambda.js +4 -4
  244. package/lib/generated/services/launchwizard.js +4 -4
  245. package/lib/generated/services/lex.js +4 -4
  246. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  247. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  248. package/lib/generated/services/license-manager.js +4 -4
  249. package/lib/generated/services/lightsail.js +4 -4
  250. package/lib/generated/services/logs.js +4 -4
  251. package/lib/generated/services/lookoutequipment.js +4 -4
  252. package/lib/generated/services/lookoutmetrics.js +3 -3
  253. package/lib/generated/services/lookoutvision.js +3 -3
  254. package/lib/generated/services/m2.js +4 -4
  255. package/lib/generated/services/machinelearning.js +3 -3
  256. package/lib/generated/services/macie2.js +4 -4
  257. package/lib/generated/services/managedblockchain-query.js +2 -2
  258. package/lib/generated/services/managedblockchain.js +4 -4
  259. package/lib/generated/services/mapcredits.js +2 -2
  260. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  261. package/lib/generated/services/mechanicalturk.js +2 -2
  262. package/lib/generated/services/mediaconnect.js +4 -4
  263. package/lib/generated/services/mediaconvert.js +4 -4
  264. package/lib/generated/services/mediaimport.js +1 -1
  265. package/lib/generated/services/medialive.js +4 -4
  266. package/lib/generated/services/mediapackage-vod.js +4 -4
  267. package/lib/generated/services/mediapackage.js +4 -4
  268. package/lib/generated/services/mediapackagev2.js +4 -4
  269. package/lib/generated/services/mediastore.js +4 -4
  270. package/lib/generated/services/mediatailor.js +4 -4
  271. package/lib/generated/services/medical-imaging.js +4 -4
  272. package/lib/generated/services/memorydb.js +4 -4
  273. package/lib/generated/services/mgh.js +4 -4
  274. package/lib/generated/services/mgn.js +4 -4
  275. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  276. package/lib/generated/services/migrationhub-strategy.js +2 -2
  277. package/lib/generated/services/mobileanalytics.js +1 -1
  278. package/lib/generated/services/mobiletargeting.js +4 -4
  279. package/lib/generated/services/monitron.js +3 -3
  280. package/lib/generated/services/mpa.js +4 -4
  281. package/lib/generated/services/mq.js +4 -4
  282. package/lib/generated/services/neptune-db.js +4 -4
  283. package/lib/generated/services/neptune-graph.js +4 -4
  284. package/lib/generated/services/network-firewall.js +4 -4
  285. package/lib/generated/services/network-security-director.js +1 -1
  286. package/lib/generated/services/networkflowmonitor.js +4 -4
  287. package/lib/generated/services/networkmanager-chat.js +1 -1
  288. package/lib/generated/services/networkmanager.js +4 -4
  289. package/lib/generated/services/networkmonitor.js +4 -4
  290. package/lib/generated/services/nimble.js +3 -3
  291. package/lib/generated/services/notifications-contacts.js +4 -4
  292. package/lib/generated/services/notifications.js +4 -4
  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 +8 -6
  297. package/lib/generated/services/omics.js +6 -9
  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.d.ts +34 -0
  309. package/lib/generated/services/payment-cryptography.js +64 -5
  310. package/lib/generated/services/payments.js +3 -3
  311. package/lib/generated/services/pca-connector-ad.js +4 -4
  312. package/lib/generated/services/pca-connector-scep.js +4 -4
  313. package/lib/generated/services/pcs.js +4 -4
  314. package/lib/generated/services/personalize.js +4 -4
  315. package/lib/generated/services/pi.js +4 -4
  316. package/lib/generated/services/pipes.js +4 -4
  317. package/lib/generated/services/polly.js +3 -3
  318. package/lib/generated/services/pricing.js +2 -2
  319. package/lib/generated/services/pricingplanmanager.js +3 -3
  320. package/lib/generated/services/private-networks.js +3 -3
  321. package/lib/generated/services/profile.js +4 -4
  322. package/lib/generated/services/proton.js +4 -4
  323. package/lib/generated/services/purchase-orders.js +3 -3
  324. package/lib/generated/services/q.js +3 -3
  325. package/lib/generated/services/qapps.js +4 -4
  326. package/lib/generated/services/qbusiness.js +4 -4
  327. package/lib/generated/services/qdeveloper.js +3 -3
  328. package/lib/generated/services/qldb.js +3 -3
  329. package/lib/generated/services/quicksight.js +4 -4
  330. package/lib/generated/services/ram.js +4 -4
  331. package/lib/generated/services/rbin.js +4 -4
  332. package/lib/generated/services/rds-data.js +4 -4
  333. package/lib/generated/services/rds-db.js +2 -2
  334. package/lib/generated/services/rds.js +4 -4
  335. package/lib/generated/services/redshift-data.js +4 -4
  336. package/lib/generated/services/redshift-serverless.js +4 -4
  337. package/lib/generated/services/redshift.js +4 -4
  338. package/lib/generated/services/refactor-spaces.js +4 -4
  339. package/lib/generated/services/rekognition.js +4 -4
  340. package/lib/generated/services/repostspace.js +4 -4
  341. package/lib/generated/services/researchstudio.js +1 -1
  342. package/lib/generated/services/resiliencehub.js +9 -6
  343. package/lib/generated/services/resource-explorer-2.js +4 -4
  344. package/lib/generated/services/resource-explorer.js +1 -1
  345. package/lib/generated/services/resource-groups.js +4 -4
  346. package/lib/generated/services/rhelkb.js +1 -1
  347. package/lib/generated/services/robomaker.js +3 -3
  348. package/lib/generated/services/rolesanywhere.js +4 -4
  349. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  350. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  351. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  352. package/lib/generated/services/route53.js +4 -4
  353. package/lib/generated/services/route53domains.js +2 -2
  354. package/lib/generated/services/route53globalresolver.js +4 -4
  355. package/lib/generated/services/route53profiles.js +4 -4
  356. package/lib/generated/services/route53resolver.js +4 -4
  357. package/lib/generated/services/rtbfabric.js +4 -4
  358. package/lib/generated/services/rum.js +4 -4
  359. package/lib/generated/services/s3-object-lambda.js +3 -3
  360. package/lib/generated/services/s3-outposts.js +4 -4
  361. package/lib/generated/services/s3.js +4 -4
  362. package/lib/generated/services/s3express.js +3 -3
  363. package/lib/generated/services/s3files.js +4 -4
  364. package/lib/generated/services/s3tables.js +4 -4
  365. package/lib/generated/services/s3vectors.js +4 -4
  366. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  367. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  368. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  369. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  370. package/lib/generated/services/sagemaker.js +4 -4
  371. package/lib/generated/services/savingsplans.js +4 -4
  372. package/lib/generated/services/scheduler.js +4 -4
  373. package/lib/generated/services/schemas.js +4 -4
  374. package/lib/generated/services/scn.js +4 -4
  375. package/lib/generated/services/sdb.js +3 -3
  376. package/lib/generated/services/secretsmanager.js +4 -4
  377. package/lib/generated/services/security-ir.js +4 -4
  378. package/lib/generated/services/securityagent.js +4 -4
  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.js +4 -4
  392. package/lib/generated/services/sms.js +1 -1
  393. package/lib/generated/services/snow-device-management.js +4 -4
  394. package/lib/generated/services/snowball.js +2 -2
  395. package/lib/generated/services/sns.js +4 -4
  396. package/lib/generated/services/social-messaging.js +4 -4
  397. package/lib/generated/services/sqlworkbench.js +3 -3
  398. package/lib/generated/services/sqs.js +4 -4
  399. package/lib/generated/services/ssm-contacts.js +4 -4
  400. package/lib/generated/services/ssm-guiconnect.js +2 -2
  401. package/lib/generated/services/ssm-incidents.js +4 -4
  402. package/lib/generated/services/ssm-quicksetup.js +4 -4
  403. package/lib/generated/services/ssm-sap.js +4 -4
  404. package/lib/generated/services/ssm.js +4 -4
  405. package/lib/generated/services/ssmmessages.js +2 -2
  406. package/lib/generated/services/sso-directory.js +1 -1
  407. package/lib/generated/services/sso-oauth.js +3 -3
  408. package/lib/generated/services/sso.js +4 -4
  409. package/lib/generated/services/states.js +4 -4
  410. package/lib/generated/services/storagegateway.js +4 -4
  411. package/lib/generated/services/sts.js +4 -4
  412. package/lib/generated/services/support-console.js +1 -1
  413. package/lib/generated/services/support.js +2 -2
  414. package/lib/generated/services/supportapp.js +2 -2
  415. package/lib/generated/services/supportauthz.js +4 -4
  416. package/lib/generated/services/supportplans.js +1 -1
  417. package/lib/generated/services/sustainability.js +2 -2
  418. package/lib/generated/services/swf.js +4 -4
  419. package/lib/generated/services/synthetics.js +4 -4
  420. package/lib/generated/services/tag.js +2 -2
  421. package/lib/generated/services/tax.js +2 -2
  422. package/lib/generated/services/textract.js +4 -4
  423. package/lib/generated/services/thinclient.js +4 -4
  424. package/lib/generated/services/timestream-influxdb.js +4 -4
  425. package/lib/generated/services/timestream.js +4 -4
  426. package/lib/generated/services/tiros.js +1 -1
  427. package/lib/generated/services/tnb.js +4 -4
  428. package/lib/generated/services/transcribe.js +4 -4
  429. package/lib/generated/services/transfer.js +4 -4
  430. package/lib/generated/services/transform-custom.js +3 -3
  431. package/lib/generated/services/transform.js +3 -3
  432. package/lib/generated/services/translate.js +4 -4
  433. package/lib/generated/services/trustedadvisor.js +3 -3
  434. package/lib/generated/services/ts.js +3 -3
  435. package/lib/generated/services/user-subscriptions.js +2 -2
  436. package/lib/generated/services/uxc.js +2 -2
  437. package/lib/generated/services/vendor-insights.js +3 -3
  438. package/lib/generated/services/verified-access.js +1 -1
  439. package/lib/generated/services/verifiedpermissions.js +4 -4
  440. package/lib/generated/services/voiceid.js +4 -4
  441. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  442. package/lib/generated/services/vpc-lattice.js +4 -4
  443. package/lib/generated/services/vpce.js +2 -2
  444. package/lib/generated/services/waf-regional.js +4 -4
  445. package/lib/generated/services/waf.js +4 -4
  446. package/lib/generated/services/wafv2.js +4 -4
  447. package/lib/generated/services/wam.js +1 -1
  448. package/lib/generated/services/wellarchitected.js +4 -4
  449. package/lib/generated/services/wickr.js +4 -4
  450. package/lib/generated/services/wisdom.js +4 -4
  451. package/lib/generated/services/workdocs.js +3 -3
  452. package/lib/generated/services/worklink.js +3 -3
  453. package/lib/generated/services/workmail.js +4 -4
  454. package/lib/generated/services/workmailmessageflow.js +3 -3
  455. package/lib/generated/services/workspaces-instances.js +4 -4
  456. package/lib/generated/services/workspaces-web.js +4 -4
  457. package/lib/generated/services/workspaces.js +4 -4
  458. package/lib/generated/services/xray.js +4 -4
  459. package/package.json +1 -1
@@ -16,7 +16,7 @@ class BedrockActions {
16
16
  }
17
17
  exports.BedrockActions = BedrockActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- BedrockActions[_a] = { fqn: "@cdk_utils/iam.bedrock.BedrockActions", version: "1.18.0" };
19
+ BedrockActions[_a] = { fqn: "@cdk_utils/iam.bedrock.BedrockActions", version: "1.19.0" };
20
20
  /** The IAM service prefix. */
21
21
  BedrockActions.SERVICE_PREFIX = "bedrock";
22
22
  /** [Read] bedrock:AgenticRetrieveStream */
@@ -1991,7 +1991,7 @@ class BedrockResources {
1991
1991
  }
1992
1992
  exports.BedrockResources = BedrockResources;
1993
1993
  _b = JSII_RTTI_SYMBOL_1;
1994
- BedrockResources[_b] = { fqn: "@cdk_utils/iam.bedrock.BedrockResources", version: "1.18.0" };
1994
+ BedrockResources[_b] = { fqn: "@cdk_utils/iam.bedrock.BedrockResources", version: "1.19.0" };
1995
1995
  /**
1996
1996
  * API operation to required IAM actions mapping for bedrock.
1997
1997
  */
@@ -1999,7 +1999,7 @@ class BedrockOperations {
1999
1999
  }
2000
2000
  exports.BedrockOperations = BedrockOperations;
2001
2001
  _c = JSII_RTTI_SYMBOL_1;
2002
- BedrockOperations[_c] = { fqn: "@cdk_utils/iam.bedrock.BedrockOperations", version: "1.18.0" };
2002
+ BedrockOperations[_c] = { fqn: "@cdk_utils/iam.bedrock.BedrockOperations", version: "1.19.0" };
2003
2003
  /** IAM actions required for the AgenticRetrieveStream API call. */
2004
2004
  BedrockOperations.AgenticRetrieveStream = [
2005
2005
  "bedrock:AgenticRetrieveStream",
@@ -2482,10 +2482,7 @@ BedrockOperations.opGetDocumentContent = [
2482
2482
  "bedrock:Retrieve",
2483
2483
  ];
2484
2484
  /** IAM actions required for the GetEvaluationJob API call. */
2485
- BedrockOperations.opGetEvaluationJob = [
2486
- "bedrock:CallWithBearerToken",
2487
- "bedrock:GetEvaluationJob",
2488
- ];
2485
+ BedrockOperations.opGetEvaluationJob = ["bedrock:GetEvaluationJob"];
2489
2486
  /** IAM actions required for the GetExecutionFlowSnapshot API call. */
2490
2487
  BedrockOperations.opGetExecutionFlowSnapshot = [
2491
2488
  "bedrock:GetExecutionFlowSnapshot",
@@ -3088,7 +3085,7 @@ class BedrockConditions {
3088
3085
  }
3089
3086
  exports.BedrockConditions = BedrockConditions;
3090
3087
  _d = JSII_RTTI_SYMBOL_1;
3091
- BedrockConditions[_d] = { fqn: "@cdk_utils/iam.bedrock.BedrockConditions", version: "1.18.0" };
3088
+ BedrockConditions[_d] = { fqn: "@cdk_utils/iam.bedrock.BedrockConditions", version: "1.19.0" };
3092
3089
  /** Condition keys applicable to the AssociateThirdPartyKnowledgeBase action. */
3093
3090
  BedrockConditions.AssociateThirdPartyKnowledgeBaseConditionKeys = [
3094
3091
  "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn",
@@ -3305,4 +3302,4 @@ BedrockConditions.PROMPT_ROUTER_ARN = "bedrock:PromptRouterArn";
3305
3302
  BedrockConditions.SERVICE_TIER = "bedrock:ServiceTier";
3306
3303
  /** Condition key: bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn (ARN) */
3307
3304
  BedrockConditions.THIRD_PARTY_KNOWLEDGE_BASE_CREDENTIALS_SECRET_ARN = "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn";
3308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvYmVkcm9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0EwNEJDOzs7QUF6NEJBLDhCQUE4QjtBQUNkLDZCQUFjLEdBQUcsU0FBUyxDQUFDO0FBRTNDLDJDQUEyQztBQUMzQixvQ0FBcUIsR0FBRywrQkFBK0IsQ0FBQztBQUN4RSx1RUFBdUU7QUFDdkQsZ0RBQWlDLEdBQ2hELDJDQUEyQyxDQUFDO0FBQzdDLG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELGlEQUFpRDtBQUNqQyx5Q0FBMEIsR0FDekMsb0NBQW9DLENBQUM7QUFDdEMsa0RBQWtEO0FBQ2xDLDBDQUEyQixHQUMxQyxxQ0FBcUMsQ0FBQztBQUN2Qyx1REFBdUQ7QUFDdkMsK0NBQWdDLEdBQy9DLDBDQUEwQyxDQUFDO0FBQzVDLCtEQUErRDtBQUMvQyx1REFBd0MsR0FDdkQsa0RBQWtELENBQUM7QUFDcEQsK0NBQStDO0FBQy9CLHVDQUF3QixHQUFHLGtDQUFrQyxDQUFDO0FBQzlFLHlDQUF5QztBQUN6QixrQ0FBbUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNwRSxrRUFBa0U7QUFDbEQsMERBQTJDLEdBQzFELHFEQUFxRCxDQUFDO0FBQ3ZELG1DQUFtQztBQUNuQiwyQkFBWSxHQUFHLHNCQUFzQixDQUFDO0FBQ3RELDhDQUE4QztBQUM5Qix1Q0FBd0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM5RSx5Q0FBeUM7QUFDekIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsaUNBQWlDO0FBQ2pCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7QUFDcEQsMERBQTBEO0FBQzFDLGtEQUFtQyxHQUNsRCw2Q0FBNkMsQ0FBQztBQUMvQyxrQ0FBa0M7QUFDbEIsMEJBQVcsR0FBRyxxQkFBcUIsQ0FBQztBQUNwRCw2Q0FBNkM7QUFDN0IscUNBQXNCLEdBQUcsZ0NBQWdDLENBQUM7QUFDMUUsdUNBQXVDO0FBQ3ZCLCtCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELHFEQUFxRDtBQUNyQyw2Q0FBOEIsR0FDN0Msd0NBQXdDLENBQUM7QUFDMUMsNkRBQTZEO0FBQzdDLHFEQUFzQyxHQUNyRCxnREFBZ0QsQ0FBQztBQUNsRCw0REFBNEQ7QUFDNUMsb0RBQXFDLEdBQ3BELCtDQUErQyxDQUFDO0FBQ2pELHNDQUFzQztBQUN0Qiw4QkFBZSxHQUFHLHlCQUF5QixDQUFDO0FBQzVELDZDQUE2QztBQUM3QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsa0RBQWtEO0FBQ2xDLDBDQUEyQixHQUMxQyxxQ0FBcUMsQ0FBQztBQUN2QyxrREFBa0Q7QUFDbEMsMENBQTJCLEdBQzFDLHFDQUFxQyxDQUFDO0FBQ3ZDLGtEQUFrRDtBQUNsQywwQ0FBMkIsR0FDMUMscUNBQXFDLENBQUM7QUFDdkMsdUNBQXVDO0FBQ3ZCLCtCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELDRDQUE0QztBQUM1QixvQ0FBcUIsR0FBRywrQkFBK0IsQ0FBQztBQUN4RSwwQ0FBMEM7QUFDMUIsa0NBQW1CLEdBQUcsNkJBQTZCLENBQUM7QUFDcEUsaUNBQWlDO0FBQ2pCLHlCQUFVLEdBQUcsb0JBQW9CLENBQUM7QUFDbEQsc0NBQXNDO0FBQ3RCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsd0NBQXdDO0FBQ3hCLGdDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLHFEQUFxRDtBQUNyQyw2Q0FBOEIsR0FDN0Msd0NBQXdDLENBQUM7QUFDMUMsc0NBQXNDO0FBQ3RCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsNkNBQTZDO0FBQzdCLHFDQUFzQixHQUFHLGdDQUFnQyxDQUFDO0FBQzFFLDZDQUE2QztBQUM3QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSx1Q0FBdUM7QUFDdkIsK0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDOUQsMENBQTBDO0FBQzFCLGtDQUFtQixHQUFHLDZCQUE2QixDQUFDO0FBQ3BFLHFEQUFxRDtBQUNyQyw2Q0FBOEIsR0FDN0Msd0NBQXdDLENBQUM7QUFDMUMseUNBQXlDO0FBQ3pCLGlDQUFrQixHQUFHLDRCQUE0QixDQUFDO0FBQ2xFLGtEQUFrRDtBQUNsQywwQ0FBMkIsR0FDMUMscUNBQXFDLENBQUM7QUFDdkMsK0NBQStDO0FBQy9CLHVDQUF3QixHQUFHLGtDQUFrQyxDQUFDO0FBQzlFLDJDQUEyQztBQUMzQixtQ0FBb0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN0RSwrQ0FBK0M7QUFDL0IsdUNBQXdCLEdBQUcsa0NBQWtDLENBQUM7QUFDOUUsbUNBQW1DO0FBQ25CLDJCQUFZLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQseUNBQXlDO0FBQ3pCLGlDQUFrQixHQUFHLDRCQUE0QixDQUFDO0FBQ2xFLDBDQUEwQztBQUMxQixrQ0FBbUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNwRSx1REFBdUQ7QUFDdkMsK0NBQWdDLEdBQy9DLDBDQUEwQyxDQUFDO0FBQzVDLG9DQUFvQztBQUNwQiw0QkFBYSxHQUFHLHVCQUF1QixDQUFDO0FBQ3hELGtDQUFrQztBQUNsQiwwQkFBVyxHQUFHLHFCQUFxQixDQUFDO0FBQ3BELDZDQUE2QztBQUM3QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSx1Q0FBdUM7QUFDdkIsK0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDOUQsd0NBQXdDO0FBQ3hCLGdDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLHlDQUF5QztBQUN6QixpQ0FBa0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNsRSxxREFBcUQ7QUFDckMsNkNBQThCLEdBQzdDLHdDQUF3QyxDQUFDO0FBQzFDLGtFQUFrRTtBQUNsRCwwREFBMkMsR0FDMUQscURBQXFELENBQUM7QUFDdkQsNkRBQTZEO0FBQzdDLHFEQUFzQyxHQUNyRCxnREFBZ0QsQ0FBQztBQUNsRCxzQ0FBc0M7QUFDdEIsOEJBQWUsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsa0RBQWtEO0FBQ2xDLDBDQUEyQixHQUMxQyxxQ0FBcUMsQ0FBQztBQUN2QyxrREFBa0Q7QUFDbEMsMENBQTJCLEdBQzFDLHFDQUFxQyxDQUFDO0FBQ3ZDLGtEQUFrRDtBQUNsQywwQ0FBMkIsR0FDMUMscUNBQXFDLENBQUM7QUFDdkMsdUNBQXVDO0FBQ3ZCLCtCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELDJEQUEyRDtBQUMzQyxtREFBb0MsR0FDbkQsOENBQThDLENBQUM7QUFDaEQsaUNBQWlDO0FBQ2pCLHlCQUFVLEdBQUcsb0JBQW9CLENBQUM7QUFDbEQsc0NBQXNDO0FBQ3RCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsd0NBQXdDO0FBQ3hCLGdDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLHFEQUFxRDtBQUNyQyw2Q0FBOEIsR0FDN0Msd0NBQXdDLENBQUM7QUFDMUMsc0NBQXNDO0FBQ3RCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsMENBQTBDO0FBQzFCLGtDQUFtQixHQUFHLDZCQUE2QixDQUFDO0FBQ3BFLDZDQUE2QztBQUM3QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSxtQ0FBbUM7QUFDbkIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCwwQ0FBMEM7QUFDMUIsa0NBQW1CLEdBQUcsNkJBQTZCLENBQUM7QUFDcEUsbURBQW1EO0FBQ25DLDJDQUE0QixHQUMzQyxzQ0FBc0MsQ0FBQztBQUN4QyxzREFBc0Q7QUFDdEMsOENBQStCLEdBQzlDLHlDQUF5QyxDQUFDO0FBQzNDLHFEQUFxRDtBQUNyQyw2Q0FBOEIsR0FDN0Msd0NBQXdDLENBQUM7QUFDMUMsZ0VBQWdFO0FBQ2hELHdEQUF5QyxHQUN4RCxtREFBbUQsQ0FBQztBQUNyRCxtQ0FBbUM7QUFDbkIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCx5Q0FBeUM7QUFDekIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsdURBQXVEO0FBQ3ZDLCtDQUFnQyxHQUMvQywwQ0FBMEMsQ0FBQztBQUM1QywyQ0FBMkM7QUFDM0IsbUNBQW9CLEdBQUcsOEJBQThCLENBQUM7QUFDdEUsb0NBQW9DO0FBQ3BCLDRCQUFhLEdBQUcsdUJBQXVCLENBQUM7QUFDeEQseURBQXlEO0FBQ3pDLGlEQUFrQyxHQUNqRCw0Q0FBNEMsQ0FBQztBQUM5Qyw0Q0FBNEM7QUFDNUIscUNBQXNCLEdBQUcsZ0NBQWdDLENBQUM7QUFDMUUsb0RBQW9EO0FBQ3BDLDRDQUE2QixHQUM1Qyx1Q0FBdUMsQ0FBQztBQUN6QyxxREFBcUQ7QUFDckMsNkNBQThCLEdBQzdDLHdDQUF3QyxDQUFDO0FBQzFDLGlDQUFpQztBQUNqQix5QkFBVSxHQUFHLG9CQUFvQixDQUFDO0FBQ2xELDJEQUEyRDtBQUMzQyxvREFBcUMsR0FDcEQsK0NBQStDLENBQUM7QUFDakQsbUNBQW1DO0FBQ25CLDRCQUFhLEdBQUcsdUJBQXVCLENBQUM7QUFDeEQsNkNBQTZDO0FBQzdCLDRDQUE2QixHQUM1QyxpQ0FBaUMsQ0FBQztBQUNuQyxzREFBc0Q7QUFDdEMscURBQXNDLEdBQ3JELDBDQUEwQyxDQUFDO0FBQzVDLDhCQUE4QjtBQUNkLDZCQUFjLEdBQUcsa0JBQWtCLENBQUM7QUFDcEQseUNBQXlDO0FBQ3pCLHdDQUF5QixHQUFHLDZCQUE2QixDQUFDO0FBQzFFLG1DQUFtQztBQUNuQixrQ0FBbUIsR0FBRyx1QkFBdUIsQ0FBQztBQUM5RCwwQ0FBMEM7QUFDMUIseUNBQTBCLEdBQUcsOEJBQThCLENBQUM7QUFDNUUsMkNBQTJDO0FBQzNCLDBDQUEyQixHQUFHLCtCQUErQixDQUFDO0FBQzlFLG9DQUFvQztBQUNwQixtQ0FBb0IsR0FBRyx3QkFBd0IsQ0FBQztBQUNoRSxxQ0FBcUM7QUFDckIsb0NBQXFCLEdBQUcseUJBQXlCLENBQUM7QUFDbEUsb0NBQW9DO0FBQ3BCLG1DQUFvQixHQUFHLHdCQUF3QixDQUFDO0FBQ2hFLGlEQUFpRDtBQUNqQyxnREFBaUMsR0FDaEQscUNBQXFDLENBQUM7QUFDdkMsNERBQTREO0FBQzVDLDJEQUE0QyxHQUMzRCxnREFBZ0QsQ0FBQztBQUNsRCw4REFBOEQ7QUFDOUMsNkRBQThDLEdBQzdELGtEQUFrRCxDQUFDO0FBQ3BELDBFQUEwRTtBQUMxRCx5RUFBMEQsR0FDekUsOERBQThELENBQUM7QUFDaEUsNkRBQTZEO0FBQzdDLDREQUE2QyxHQUM1RCxpREFBaUQsQ0FBQztBQUNuRCx5REFBeUQ7QUFDekMsd0RBQXlDLEdBQ3hELDZDQUE2QyxDQUFDO0FBQy9DLDJEQUEyRDtBQUMzQywwREFBMkMsR0FDMUQsK0NBQStDLENBQUM7QUFDakQsa0NBQWtDO0FBQ2xCLGlDQUFrQixHQUFHLHNCQUFzQixDQUFDO0FBQzVELG9EQUFvRDtBQUNwQyxtREFBb0MsR0FDbkQsd0NBQXdDLENBQUM7QUFDMUMsZ0RBQWdEO0FBQ2hDLCtDQUFnQyxHQUMvQyxvQ0FBb0MsQ0FBQztBQUN0QyxvQ0FBb0M7QUFDcEIsbUNBQW9CLEdBQUcsd0JBQXdCLENBQUM7QUFDaEUsOENBQThDO0FBQzlCLDZDQUE4QixHQUM3QyxrQ0FBa0MsQ0FBQztBQUNwQyw4Q0FBOEM7QUFDOUIsNkNBQThCLEdBQzdDLGtDQUFrQyxDQUFDO0FBQ3BDLG9EQUFvRDtBQUNwQyxtREFBb0MsR0FDbkQsd0NBQXdDLENBQUM7QUFDMUMsMERBQTBEO0FBQzFDLHlEQUEwQyxHQUN6RCw4Q0FBOEMsQ0FBQztBQUNoRCw4Q0FBOEM7QUFDOUIsNkNBQThCLEdBQzdDLGtDQUFrQyxDQUFDO0FBQ3BDLDZDQUE2QztBQUM3Qiw0Q0FBNkIsR0FDNUMsaUNBQWlDLENBQUM7QUFDbkMsbUNBQW1DO0FBQ25CLGtDQUFtQixHQUFHLHVCQUF1QixDQUFDO0FBQzlELG1EQUFtRDtBQUNuQyxrREFBbUMsR0FDbEQsdUNBQXVDLENBQUM7QUFDekMsd0NBQXdDO0FBQ3hCLHVDQUF3QixHQUFHLDRCQUE0QixDQUFDO0FBQ3hFLHNDQUFzQztBQUN0QixxQ0FBc0IsR0FBRywwQkFBMEIsQ0FBQztBQUNwRSw4Q0FBOEM7QUFDOUIsNkNBQThCLEdBQzdDLGtDQUFrQyxDQUFDO0FBQ3BDLDZCQUE2QjtBQUNiLDRCQUFhLEdBQUcsaUJBQWlCLENBQUM7QUFDbEQsa0NBQWtDO0FBQ2xCLGlDQUFrQixHQUFHLHNCQUFzQixDQUFDO0FBQzVELHNDQUFzQztBQUN0QixxQ0FBc0IsR0FBRywwQkFBMEIsQ0FBQztBQUNwRSxvQ0FBb0M7QUFDcEIsbUNBQW9CLEdBQUcsd0JBQXdCLENBQUM7QUFDaEUsd0NBQXdDO0FBQ3hCLHVDQUF3QixHQUFHLDRCQUE0QixDQUFDO0FBQ3hFLG9EQUFvRDtBQUNwQyxtREFBb0MsR0FDbkQsd0NBQXdDLENBQUM7QUFDMUMsa0NBQWtDO0FBQ2xCLGlDQUFrQixHQUFHLHNCQUFzQixDQUFDO0FBQzVELHNDQUFzQztBQUN0QixxQ0FBc0IsR0FBRywwQkFBMEIsQ0FBQztBQUNwRSx5Q0FBeUM7QUFDekIsd0NBQXlCLEdBQUcsNkJBQTZCLENBQUM7QUFDMUUsNENBQTRDO0FBQzVCLDJDQUE0QixHQUMzQyxnQ0FBZ0MsQ0FBQztBQUNsQyxxQ0FBcUM7QUFDckIsb0NBQXFCLEdBQUcseUJBQXlCLENBQUM7QUFDbEUsdUNBQXVDO0FBQ3ZCLHNDQUF1QixHQUFHLDJCQUEyQixDQUFDO0FBQ3RFLCtCQUErQjtBQUNmLDhCQUFlLEdBQUcsbUJBQW1CLENBQUM7QUFDdEQsc0NBQXNDO0FBQ3RCLHFDQUFzQixHQUFHLDBCQUEwQixDQUFDO0FBQ3BFLCtDQUErQztBQUMvQiw4Q0FBK0IsR0FDOUMsbUNBQW1DLENBQUM7QUFDckMsaURBQWlEO0FBQ2pDLGdEQUFpQyxHQUNoRCxxQ0FBcUMsQ0FBQztBQUN2QyxxQ0FBcUM7QUFDckIsb0NBQXFCLEdBQUcseUJBQXlCLENBQUM7QUFDbEUsOENBQThDO0FBQzlCLDZDQUE4QixHQUM3QyxrQ0FBa0MsQ0FBQztBQUNwQywyQ0FBMkM7QUFDM0IsMENBQTJCLEdBQUcsK0JBQStCLENBQUM7QUFDOUUsdUNBQXVDO0FBQ3ZCLHNDQUF1QixHQUFHLDJCQUEyQixDQUFDO0FBQ3RFLDJDQUEyQztBQUMzQiwwQ0FBMkIsR0FBRywrQkFBK0IsQ0FBQztBQUM5RSw0REFBNEQ7QUFDNUMsMkRBQTRDLEdBQzNELGdEQUFnRCxDQUFDO0FBQ2xELCtCQUErQjtBQUNmLDhCQUFlLEdBQUcsbUJBQW1CLENBQUM7QUFDdEQscUNBQXFDO0FBQ3JCLG9DQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBQ2xFLG1EQUFtRDtBQUNuQyxrREFBbUMsR0FDbEQsdUNBQXVDLENBQUM7QUFDekMsdUNBQXVDO0FBQ3ZCLHNDQUF1QixHQUFHLDJCQUEyQixDQUFDO0FBQ3RFLGdDQUFnQztBQUNoQiwrQkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQztBQUN4RCw4Q0FBOEM7QUFDOUIsNkNBQThCLEdBQzdDLGtDQUFrQyxDQUFDO0FBQ3BDLG1EQUFtRDtBQUNuQywyQ0FBNEIsR0FDM0Msc0NBQXNDLENBQUM7QUFDeEMsaUNBQWlDO0FBQ2pCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7QUFDcEQsb0RBQW9EO0FBQ3BDLDZDQUE4QixHQUM3Qyx3Q0FBd0MsQ0FBQztBQUMxQyx1REFBdUQ7QUFDdkMsK0NBQWdDLEdBQy9DLDBDQUEwQyxDQUFDO0FBQzVDLHlEQUF5RDtBQUN6QyxpREFBa0MsR0FDakQsNENBQTRDLENBQUM7QUFDOUMsb0NBQW9DO0FBQ3BCLDRCQUFhLEdBQUcsdUJBQXVCLENBQUM7QUFDeEQsMkNBQTJDO0FBQzNCLG1DQUFvQixHQUFHLDhCQUE4QixDQUFDO0FBQ3RFLGdEQUFnRDtBQUNoQyx3Q0FBeUIsR0FDeEMsbUNBQW1DLENBQUM7QUFDckMsOERBQThEO0FBQzlDLHNEQUF1QyxHQUN0RCxpREFBaUQsQ0FBQztBQUNuRCxnQ0FBZ0M7QUFDaEIseUJBQVUsR0FBRyxvQkFBb0IsQ0FBQztBQUNsRCwyQ0FBMkM7QUFDM0Isb0NBQXFCLEdBQUcsK0JBQStCLENBQUM7QUFDeEUsdUNBQXVDO0FBQ3ZCLGdDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLGlDQUFpQztBQUNqQiwwQkFBVyxHQUFHLHFCQUFxQixDQUFDO0FBQ3BELG1EQUFtRDtBQUNuQyw0Q0FBNkIsR0FDNUMsdUNBQXVDLENBQUM7QUFDekMsZ0NBQWdDO0FBQ2hCLHlCQUFVLEdBQUcsb0JBQW9CLENBQUM7QUFDbEQsd0RBQXdEO0FBQ3hDLGlEQUFrQyxHQUNqRCw0Q0FBNEMsQ0FBQztBQUM5QywyQ0FBMkM7QUFDM0Isb0NBQXFCLEdBQUcsK0JBQStCLENBQUM7QUFDeEUsc0NBQXNDO0FBQ3RCLCtCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELDRDQUE0QztBQUM1QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSw2Q0FBNkM7QUFDN0Isc0NBQXVCLEdBQUcsaUNBQWlDLENBQUM7QUFDNUUsdUNBQXVDO0FBQ3ZCLGdDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLGdDQUFnQztBQUNoQix5QkFBVSxHQUFHLG9CQUFvQixDQUFDO0FBQ2xELHNDQUFzQztBQUN0QiwrQkFBZ0IsR0FBRywwQkFBMEIsQ0FBQztBQUM5RCxvREFBb0Q7QUFDcEMsNkNBQThCLEdBQzdDLHdDQUF3QyxDQUFDO0FBQzFDLGdFQUFnRTtBQUNoRCx5REFBMEMsR0FDekQsb0RBQW9ELENBQUM7QUFDdEQsMkRBQTJEO0FBQzNDLG9EQUFxQyxHQUNwRCwrQ0FBK0MsQ0FBQztBQUNqRCw2REFBNkQ7QUFDN0Msc0RBQXVDLEdBQ3RELGlEQUFpRCxDQUFDO0FBQ25ELG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELGdEQUFnRDtBQUNoQyx5Q0FBMEIsR0FDekMsb0NBQW9DLENBQUM7QUFDdEMsc0NBQXNDO0FBQ3RCLCtCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELGlEQUFpRDtBQUNqQywwQ0FBMkIsR0FDMUMscUNBQXFDLENBQUM7QUFDdkMsdURBQXVEO0FBQ3ZDLGdEQUFpQyxHQUNoRCwyQ0FBMkMsQ0FBQztBQUM3Qyw0REFBNEQ7QUFDNUMscURBQXNDLEdBQ3JELGdEQUFnRCxDQUFDO0FBQ2xELGdEQUFnRDtBQUNoQyx5Q0FBMEIsR0FDekMsb0NBQW9DLENBQUM7QUFDdEMscUNBQXFDO0FBQ3JCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQseURBQXlEO0FBQ3pDLGtEQUFtQyxHQUNsRCw2Q0FBNkMsQ0FBQztBQUMvQyx3Q0FBd0M7QUFDeEIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUscUNBQXFDO0FBQ3JCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsNkNBQTZDO0FBQzdCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVFLHdDQUF3QztBQUN4QixpQ0FBa0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNsRSxzQ0FBc0M7QUFDdEIsK0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDOUQsK0JBQStCO0FBQ2Ysd0JBQVMsR0FBRyxtQkFBbUIsQ0FBQztBQUNoRCx3REFBd0Q7QUFDeEMsaURBQWtDLEdBQ2pELDRDQUE0QyxDQUFDO0FBQzlDLDBDQUEwQztBQUMxQixtQ0FBb0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN0RSxvQ0FBb0M7QUFDcEIsNkJBQWMsR0FBRyx3QkFBd0IsQ0FBQztBQUMxRCx3Q0FBd0M7QUFDeEIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsMkNBQTJDO0FBQzNCLG9DQUFxQixHQUFHLCtCQUErQixDQUFDO0FBQ3hFLHVDQUF1QztBQUN2QixnQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSx5Q0FBeUM7QUFDekIsa0NBQW1CLEdBQUcsNkJBQTZCLENBQUM7QUFDcEUscUNBQXFDO0FBQ3JCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsZ0RBQWdEO0FBQ2hDLHlDQUEwQixHQUN6QyxvQ0FBb0MsQ0FBQztBQUN0Qyx3Q0FBd0M7QUFDeEIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsbURBQW1EO0FBQ25DLDRDQUE2QixHQUM1Qyx1Q0FBdUMsQ0FBQztBQUN6Qyx1Q0FBdUM7QUFDdkIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsZ0RBQWdEO0FBQ2hDLHlDQUEwQixHQUN6QyxvQ0FBb0MsQ0FBQztBQUN0Qyw2Q0FBNkM7QUFDN0Isc0NBQXVCLEdBQUcsaUNBQWlDLENBQUM7QUFDNUUseUNBQXlDO0FBQ3pCLGtDQUFtQixHQUFHLDZCQUE2QixDQUFDO0FBQ3BFLDZDQUE2QztBQUM3QixzQ0FBdUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUM1RSx1Q0FBdUM7QUFDdkIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsaUNBQWlDO0FBQ2pCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7QUFDcEQscURBQXFEO0FBQ3JDLDhDQUErQixHQUM5Qyx5Q0FBeUMsQ0FBQztBQUMzQyxrQ0FBa0M7QUFDbEIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCx5Q0FBeUM7QUFDekIsa0NBQW1CLEdBQUcsNkJBQTZCLENBQUM7QUFDcEUsb0NBQW9DO0FBQ3BCLDZCQUFjLEdBQUcsd0JBQXdCLENBQUM7QUFDMUQsbUNBQW1DO0FBQ25CLDJCQUFZLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQsa0NBQWtDO0FBQ2xCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7QUFDcEQsOENBQThDO0FBQzlCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVFLHdEQUF3RDtBQUN4QyxnREFBaUMsR0FDaEQsMkNBQTJDLENBQUM7QUFDN0Msb0RBQW9EO0FBQ3BDLDRDQUE2QixHQUM1Qyx1Q0FBdUMsQ0FBQztBQUN6Qyx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsNkRBQTZEO0FBQzdDLHFEQUFzQyxHQUNyRCxnREFBZ0QsQ0FBQztBQUNsRCx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsK0NBQStDO0FBQy9CLHVDQUF3QixHQUFHLGtDQUFrQyxDQUFDO0FBQzlFLHVEQUF1RDtBQUN2QywrQ0FBZ0MsR0FDL0MsMENBQTBDLENBQUM7QUFDNUMsa0NBQWtDO0FBQ2xCLDJCQUFZLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQsNkJBQTZCO0FBQ2IscUJBQU0sR0FBRyxnQkFBZ0IsQ0FBQztBQUMxQyw4QkFBOEI7QUFDZCx1QkFBUSxHQUFHLGtCQUFrQixDQUFDO0FBQzlDLDBDQUEwQztBQUMxQixrQ0FBbUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNwRSxpRUFBaUU7QUFDakQseURBQTBDLEdBQ3pELG9EQUFvRCxDQUFDO0FBQ3RELGdFQUFnRTtBQUNoRCx3REFBeUMsR0FDeEQsbURBQW1ELENBQUM7QUFDckQseUNBQXlDO0FBQ3pCLGlDQUFrQixHQUFHLDRCQUE0QixDQUFDO0FBQ2xFLHdDQUF3QztBQUN4QixnQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSx3REFBd0Q7QUFDeEMsZ0RBQWlDLEdBQ2hELDJDQUEyQyxDQUFDO0FBQzdDLHdDQUF3QztBQUN4QixnQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsdUNBQXVDO0FBQ3ZCLCtCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELGdEQUFnRDtBQUNoQyx3Q0FBeUIsR0FDeEMsbUNBQW1DLENBQUM7QUFDckMsNkNBQTZDO0FBQzdCLHFDQUFzQixHQUFHLGdDQUFnQyxDQUFDO0FBQzFFLG9DQUFvQztBQUNwQiwwQkFBVyxHQUFHLHFCQUFxQixDQUFDO0FBQ3BELHNDQUFzQztBQUN0Qiw0QkFBYSxHQUFHLHVCQUF1QixDQUFDO0FBQ3hELGtDQUFrQztBQUNsQiwwQkFBVyxHQUFHLHFCQUFxQixDQUFDO0FBQ3BELDZDQUE2QztBQUM3QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSx1Q0FBdUM7QUFDdkIsK0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDOUQsOENBQThDO0FBQzlCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVFLCtDQUErQztBQUMvQix1Q0FBd0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM5RSxxREFBcUQ7QUFDckMsNkNBQThCLEdBQzdDLHdDQUF3QyxDQUFDO0FBQzFDLGdFQUFnRTtBQUNoRCx3REFBeUMsR0FDeEQsbURBQW1ELENBQUM7QUFDckQsNkRBQTZEO0FBQzdDLHFEQUFzQyxHQUNyRCxnREFBZ0QsQ0FBQztBQUNsRCxzQ0FBc0M7QUFDdEIsOEJBQWUsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxrREFBa0Q7QUFDbEMsMENBQTJCLEdBQzFDLHFDQUFxQyxDQUFDO0FBQ3ZDLGtEQUFrRDtBQUNsQywwQ0FBMkIsR0FDMUMscUNBQXFDLENBQUM7QUFDdkMsa0RBQWtEO0FBQ2xDLDBDQUEyQixHQUMxQyxxQ0FBcUMsQ0FBQztBQUN2Qyx1Q0FBdUM7QUFDdkIsK0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDOUQsaUNBQWlDO0FBQ2pCLHlCQUFVLEdBQUcsb0JBQW9CLENBQUM7QUFDbEQsc0NBQXNDO0FBQ3RCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsc0NBQXNDO0FBQ3RCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsMENBQTBDO0FBQzFCLGtDQUFtQixHQUFHLDZCQUE2QixDQUFDO0FBQ3BFLHFEQUFxRDtBQUNyQyw2Q0FBOEIsR0FDN0Msd0NBQXdDLENBQUM7QUFDMUMsbUNBQW1DO0FBQ25CLDJCQUFZLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQsdURBQXVEO0FBQ3ZDLCtDQUFnQyxHQUMvQywwQ0FBMEMsQ0FBQztBQUM1QyxvQ0FBb0M7QUFDcEIsNEJBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4RCw0Q0FBNEM7QUFDNUIscUNBQXNCLEdBQUcsZ0NBQWdDLENBQUM7QUFFMUUsOEJBQThCO0FBQ2QsNkJBQWMsR0FBYTtJQUMxQyxjQUFjLENBQUMscUJBQXFCO0lBQ3BDLGNBQWMsQ0FBQyxjQUFjO0lBQzdCLGNBQWMsQ0FBQyxtQkFBbUI7SUFDbEMsY0FBYyxDQUFDLHdCQUF3QjtJQUN2QyxjQUFjLENBQUMsV0FBVztJQUMxQixjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyxxQ0FBcUM7SUFDcEQsY0FBYyxDQUFDLGFBQWE7SUFDNUIsY0FBYyxDQUFDLDZCQUE2QjtJQUM1QyxjQUFjLENBQUMsc0NBQXNDO0lBQ3JELGNBQWMsQ0FBQyxjQUFjO0lBQzdCLGNBQWMsQ0FBQyx5QkFBeUI7SUFDeEMsY0FBYyxDQUFDLG1CQUFtQjtJQUNsQyxjQUFjLENBQUMsMEJBQTBCO0lBQ3pDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLG9CQUFvQjtJQUNuQyxjQUFjLENBQUMscUJBQXFCO0lBQ3BDLGNBQWMsQ0FBQyxvQkFBb0I7SUFDbkMsY0FBYyxDQUFDLGlDQUFpQztJQUNoRCxjQUFjLENBQUMsNENBQTRDO0lBQzNELGNBQWMsQ0FBQyw4Q0FBOEM7SUFDN0QsY0FBYyxDQUFDLDBEQUEwRDtJQUN6RSxjQUFjLENBQUMsNkNBQTZDO0lBQzVELGNBQWMsQ0FBQyx5Q0FBeUM7SUFDeEQsY0FBYyxDQUFDLDJDQUEyQztJQUMxRCxjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQyxvQ0FBb0M7SUFDbkQsY0FBYyxDQUFDLGdDQUFnQztJQUMvQyxjQUFjLENBQUMsb0JBQW9CO0lBQ25DLGNBQWMsQ0FBQyw4QkFBOEI7SUFDN0MsY0FBYyxDQUFDLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMsb0NBQW9DO0lBQ25ELGNBQWMsQ0FBQywwQ0FBMEM7SUFDekQsY0FBYyxDQUFDLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMsNkJBQTZCO0lBQzVDLGNBQWMsQ0FBQyxtQkFBbUI7SUFDbEMsY0FBYyxDQUFDLG1DQUFtQztJQUNsRCxjQUFjLENBQUMsd0JBQXdCO0lBQ3ZDLGNBQWMsQ0FBQyxzQkFBc0I7SUFDckMsY0FBYyxDQUFDLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMsYUFBYTtJQUM1QixjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQyxzQkFBc0I7SUFDckMsY0FBYyxDQUFDLG9CQUFvQjtJQUNuQyxjQUFjLENBQUMsd0JBQXdCO0lBQ3ZDLGNBQWMsQ0FBQyxvQ0FBb0M7SUFDbkQsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyx5QkFBeUI7SUFDeEMsY0FBYyxDQUFDLDRCQUE0QjtJQUMzQyxjQUFjLENBQUMscUJBQXFCO0lBQ3BDLGNBQWMsQ0FBQyx1QkFBdUI7SUFDdEMsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLHNCQUFzQjtJQUNyQyxjQUFjLENBQUMsK0JBQStCO0lBQzlDLGNBQWMsQ0FBQyxpQ0FBaUM7SUFDaEQsY0FBYyxDQUFDLHFCQUFxQjtJQUNwQyxjQUFjLENBQUMsOEJBQThCO0lBQzdDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLHVCQUF1QjtJQUN0QyxjQUFjLENBQUMsMkJBQTJCO0lBQzFDLGNBQWMsQ0FBQyw0Q0FBNEM7SUFDM0QsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLHFCQUFxQjtJQUNwQyxjQUFjLENBQUMsbUNBQW1DO0lBQ2xELGNBQWMsQ0FBQyx1QkFBdUI7SUFDdEMsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMsOEJBQThCO0lBQzdDLGNBQWMsQ0FBQyxXQUFXO0lBQzFCLGNBQWMsQ0FBQyw4QkFBOEI7SUFDN0MsY0FBYyxDQUFDLFVBQVU7SUFDekIsY0FBYyxDQUFDLHFCQUFxQjtJQUNwQyxjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQyxXQUFXO0lBQzFCLGNBQWMsQ0FBQyw2QkFBNkI7SUFDNUMsY0FBYyxDQUFDLFVBQVU7SUFDekIsY0FBYyxDQUFDLDZCQUE2QjtJQUM1QyxjQUFjLENBQUMsbUJBQW1CO0lBQ2xDLGNBQWMsQ0FBQyxjQUFjO0lBQzdCLGNBQWMsQ0FBQyxZQUFZO0lBQzNCLGNBQWMsQ0FBQyxRQUFRO0lBQ3ZCLGNBQWMsQ0FBQyxzQkFBc0I7Q0FDckMsQ0FBQztBQUNGLCtCQUErQjtBQUNmLDhCQUFlLEdBQWE7SUFDM0MsY0FBYyxDQUFDLDBCQUEwQjtJQUN6QyxjQUFjLENBQUMsMkJBQTJCO0lBQzFDLGNBQWMsQ0FBQyxnQ0FBZ0M7SUFDL0MsY0FBYyxDQUFDLHdDQUF3QztJQUN2RCxjQUFjLENBQUMsd0JBQXdCO0lBQ3ZDLGNBQWMsQ0FBQywyQ0FBMkM7SUFDMUQsY0FBYyxDQUFDLFlBQVk7SUFDM0IsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsbUNBQW1DO0lBQ2xELGNBQWMsQ0FBQyxXQUFXO0lBQzFCLGNBQWMsQ0FBQyxzQkFBc0I7SUFDckMsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMsOEJBQThCO0lBQzdDLGNBQWMsQ0FBQyxzQ0FBc0M7SUFDckQsY0FBYyxDQUFDLHFDQUFxQztJQUNwRCxjQUFjLENBQUMsZUFBZTtJQUM5QixjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyxpQkFBaUI7SUFDaEMsY0FBYyxDQUFDLDJCQUEyQjtJQUMxQyxjQUFjLENBQUMsMkJBQTJCO0lBQzFDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMscUJBQXFCO0lBQ3BDLGNBQWMsQ0FBQyxtQkFBbUI7SUFDbEMsY0FBYyxDQUFDLFVBQVU7SUFDekIsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsOEJBQThCO0lBQzdDLGNBQWMsQ0FBQyxlQUFlO0lBQzlCLGNBQWMsQ0FBQyxzQkFBc0I7SUFDckMsY0FBYyxDQUFDLHNCQUFzQjtJQUNyQyxjQUFjLENBQUMsZ0JBQWdCO0lBQy9CLGNBQWMsQ0FBQyxtQkFBbUI7SUFDbEMsY0FBYyxDQUFDLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLHdCQUF3QjtJQUN2QyxjQUFjLENBQUMsb0JBQW9CO0lBQ25DLGNBQWMsQ0FBQyx3QkFBd0I7SUFDdkMsY0FBYyxDQUFDLFlBQVk7SUFDM0IsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsbUJBQW1CO0lBQ2xDLGNBQWMsQ0FBQyxnQ0FBZ0M7SUFDL0MsY0FBYyxDQUFDLGFBQWE7SUFDNUIsY0FBYyxDQUFDLFdBQVc7SUFDMUIsY0FBYyxDQUFDLHNCQUFzQjtJQUNyQyxjQUFjLENBQUMsZ0JBQWdCO0lBQy9CLGNBQWMsQ0FBQyxpQkFBaUI7SUFDaEMsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsOEJBQThCO0lBQzdDLGNBQWMsQ0FBQywyQ0FBMkM7SUFDMUQsY0FBYyxDQUFDLHNDQUFzQztJQUNyRCxjQUFjLENBQUMsZUFBZTtJQUM5QixjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLDJCQUEyQjtJQUMxQyxjQUFjLENBQUMsMkJBQTJCO0lBQzFDLGNBQWMsQ0FBQyxnQkFBZ0I7SUFDL0IsY0FBYyxDQUFDLG9DQUFvQztJQUNuRCxjQUFjLENBQUMsVUFBVTtJQUN6QixjQUFjLENBQUMsZUFBZTtJQUM5QixjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQyw4QkFBOEI7SUFDN0MsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLG1CQUFtQjtJQUNsQyxjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyxZQUFZO0lBQzNCLGNBQWMsQ0FBQyxtQkFBbUI7SUFDbEMsY0FBYyxDQUFDLDRCQUE0QjtJQUMzQyxjQUFjLENBQUMsK0JBQStCO0lBQzlDLGNBQWMsQ0FBQyw4QkFBOEI7SUFDN0MsY0FBYyxDQUFDLHlDQUF5QztJQUN4RCxjQUFjLENBQUMsWUFBWTtJQUMzQixjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQyxnQ0FBZ0M7SUFDL0MsY0FBYyxDQUFDLG9CQUFvQjtJQUNuQyxjQUFjLENBQUMsYUFBYTtJQUM1QixjQUFjLENBQUMsa0NBQWtDO0lBQ2pELGNBQWMsQ0FBQyw2QkFBNkI7SUFDNUMsY0FBYyxDQUFDLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMsVUFBVTtJQUN6QixjQUFjLENBQUMsNEJBQTRCO0lBQzNDLGNBQWMsQ0FBQyxnQ0FBZ0M7SUFDL0MsY0FBYyxDQUFDLGtDQUFrQztJQUNqRCxjQUFjLENBQUMsYUFBYTtJQUM1QixjQUFjLENBQUMsb0JBQW9CO0lBQ25DLGNBQWMsQ0FBQyx5QkFBeUI7SUFDeEMsY0FBYyxDQUFDLHVDQUF1QztJQUN0RCxjQUFjLENBQUMsWUFBWTtJQUMzQixjQUFjLENBQUMsV0FBVztJQUMxQixjQUFjLENBQUMsdUJBQXVCO0lBQ3RDLGNBQWMsQ0FBQyxpQ0FBaUM7SUFDaEQsY0FBYyxDQUFDLDZCQUE2QjtJQUM1QyxjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQyxzQ0FBc0M7SUFDckQsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsd0JBQXdCO0lBQ3ZDLGNBQWMsQ0FBQyxnQ0FBZ0M7SUFDL0MsY0FBYyxDQUFDLE1BQU07SUFDckIsY0FBYyxDQUFDLG1CQUFtQjtJQUNsQyxjQUFjLENBQUMsMENBQTBDO0lBQ3pELGNBQWMsQ0FBQyx5Q0FBeUM7SUFDeEQsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQyxpQ0FBaUM7SUFDaEQsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQyxnQkFBZ0I7SUFDL0IsY0FBYyxDQUFDLHlCQUF5QjtJQUN4QyxjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyxXQUFXO0lBQzFCLGNBQWMsQ0FBQyxzQkFBc0I7SUFDckMsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMsdUJBQXVCO0lBQ3RDLGNBQWMsQ0FBQyx3QkFBd0I7SUFDdkMsY0FBYyxDQUFDLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMseUNBQXlDO0lBQ3hELGNBQWMsQ0FBQyxzQ0FBc0M7SUFDckQsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLDJCQUEyQjtJQUMxQyxjQUFjLENBQUMsMkJBQTJCO0lBQzFDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMsVUFBVTtJQUN6QixjQUFjLENBQUMsZUFBZTtJQUM5QixjQUFjLENBQUMsZUFBZTtJQUM5QixjQUFjLENBQUMsbUJBQW1CO0lBQ2xDLGNBQWMsQ0FBQyw4QkFBOEI7SUFDN0MsY0FBYyxDQUFDLFlBQVk7SUFDM0IsY0FBYyxDQUFDLGdDQUFnQztJQUMvQyxjQUFjLENBQUMsYUFBYTtDQUM1QixDQUFDO0FBQ0YsOEJBQThCO0FBQ2QsNkJBQWMsR0FBYTtJQUMxQyxjQUFjLENBQUMsa0NBQWtDO0lBQ2pELGNBQWMsQ0FBQyxxQkFBcUI7SUFDcEMsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyx1QkFBdUI7SUFDdEMsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsVUFBVTtJQUN6QixjQUFjLENBQUMsZ0JBQWdCO0lBQy9CLGNBQWMsQ0FBQyw4QkFBOEI7SUFDN0MsY0FBYyxDQUFDLDBDQUEwQztJQUN6RCxjQUFjLENBQUMscUNBQXFDO0lBQ3BELGNBQWMsQ0FBQyx1Q0FBdUM7SUFDdEQsY0FBYyxDQUFDLGNBQWM7SUFDN0IsY0FBYyxDQUFDLDBCQUEwQjtJQUN6QyxjQUFjLENBQUMsZ0JBQWdCO0lBQy9CLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLGlDQUFpQztJQUNoRCxjQUFjLENBQUMsc0NBQXNDO0lBQ3JELGNBQWMsQ0FBQywwQkFBMEI7SUFDekMsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLG1DQUFtQztJQUNsRCxjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQyxlQUFlO0lBQzlCLGNBQWMsQ0FBQyx1QkFBdUI7SUFDdEMsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsZ0JBQWdCO0lBQy9CLGNBQWMsQ0FBQyxTQUFTO0lBQ3hCLGNBQWMsQ0FBQyxrQ0FBa0M7SUFDakQsY0FBYyxDQUFDLG9CQUFvQjtJQUNuQyxjQUFjLENBQUMsY0FBYztJQUM3QixjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQyxxQkFBcUI7SUFDcEMsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsbUJBQW1CO0lBQ2xDLGNBQWMsQ0FBQyxlQUFlO0lBQzlCLGNBQWMsQ0FBQywwQkFBMEI7SUFDekMsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQywwQkFBMEI7SUFDekMsY0FBYyxDQUFDLHVCQUF1QjtJQUN0QyxjQUFjLENBQUMsbUJBQW1CO0lBQ2xDLGNBQWMsQ0FBQyx1QkFBdUI7SUFDdEMsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsV0FBVztJQUMxQixjQUFjLENBQUMsK0JBQStCO0lBQzlDLGNBQWMsQ0FBQyxZQUFZO0NBQzNCLENBQUM7QUFDRiwrQ0FBK0M7QUFDL0IsNkNBQThCLEdBQWE7SUFDMUQsY0FBYyxDQUFDLGlDQUFpQztDQUNoRCxDQUFDO0FBQ0YsaUNBQWlDO0FBQ2pCLGdDQUFpQixHQUFhO0lBQzdDLGNBQWMsQ0FBQyxXQUFXO0lBQzFCLGNBQWMsQ0FBQyxhQUFhO0NBQzVCLENBQUM7QUFtbkNILE1BQU0scUNBQXFDLEdBQzFDLCtIQUErSCxDQUFDO0FBQ2pJLE1BQU0sYUFBYSxHQUNsQixpR0FBaUcsQ0FBQztBQUNuRyxNQUFNLGtCQUFrQixHQUN2QixpSUFBaUksQ0FBQztBQUNuSSxNQUFNLG1DQUFtQyxHQUN4Qyw0SEFBNEgsQ0FBQztBQUM5SCxNQUFNLG1CQUFtQixHQUN4QiwyR0FBMkcsQ0FBQztBQUM3RyxNQUFNLGdDQUFnQyxHQUNyQyx5SUFBeUksQ0FBQztBQUMzSSxNQUFNLHVDQUF1QyxHQUM1QyxxTEFBcUwsQ0FBQztBQUN2TCxNQUFNLHVDQUF1QyxHQUM1Qyw4R0FBOEcsQ0FBQztBQUNoSCxNQUFNLGlCQUFpQixHQUN0Qix5R0FBeUcsQ0FBQztBQUMzRyxNQUFNLHVDQUF1QyxHQUM1QyxnSUFBZ0ksQ0FBQztBQUNsSSxNQUFNLG1CQUFtQixHQUN4QiwyR0FBMkcsQ0FBQztBQUM3RyxNQUFNLDZCQUE2QixHQUNsQyxzSEFBc0gsQ0FBQztBQUN4SCxNQUFNLG1DQUFtQyxHQUN4QyxvSEFBb0gsQ0FBQztBQUN0SCxNQUFNLDZCQUE2QixHQUNsQyxtSUFBbUksQ0FBQztBQUNySSxNQUFNLHlDQUF5QyxHQUM5Qyx3SUFBd0ksQ0FBQztBQUMxSSxNQUFNLDZCQUE2QixHQUNsQyxxSEFBcUgsQ0FBQztBQUN2SCxNQUFNLDZCQUE2QixHQUNsQyxxSEFBcUgsQ0FBQztBQUN2SCxNQUFNLDJCQUEyQixHQUNoQyxvSEFBb0gsQ0FBQztBQUN0SCxNQUFNLHFCQUFxQixHQUMxQiw2R0FBNkcsQ0FBQztBQUMvRyxNQUFNLFlBQVksR0FDakIsK0ZBQStGLENBQUM7QUFDakcsTUFBTSxpQkFBaUIsR0FDdEIsK0hBQStILENBQUM7QUFDakksTUFBTSxxQkFBcUIsR0FDMUIsdUtBQXVLLENBQUM7QUFDekssTUFBTSx1QkFBdUIsR0FDNUIsOEZBQThGLENBQUM7QUFDaEcsTUFBTSxpQkFBaUIsR0FDdEIseUdBQXlHLENBQUM7QUFDM0csTUFBTSx3QkFBd0IsR0FDN0IsZ0hBQWdILENBQUM7QUFDbEgsTUFBTSxxQkFBcUIsR0FDMUIsNkdBQTZHLENBQUM7QUFDL0csTUFBTSx3QkFBd0IsR0FDN0IsZ0hBQWdILENBQUM7QUFDbEgsTUFBTSxxQkFBcUIsR0FDMUIsa0hBQWtILENBQUM7QUFDcEgsTUFBTSxvQkFBb0IsR0FDekIsNkdBQTZHLENBQUM7QUFDL0csTUFBTSw2QkFBNkIsR0FDbEMsc0hBQXNILENBQUM7QUFDeEgsTUFBTSwwQkFBMEIsR0FDL0IsbUhBQW1ILENBQUM7QUFDckgsTUFBTSxzQkFBc0IsR0FDM0IsK0dBQStHLENBQUM7QUFDakgsTUFBTSwwQkFBMEIsR0FDL0Isc0hBQXNILENBQUM7QUFDeEgsTUFBTSxlQUFlLEdBQ3BCLHNHQUFzRyxDQUFDO0FBQ3hHLE1BQU0sY0FBYyxHQUNuQixtR0FBbUcsQ0FBQztBQUNyRyxNQUFNLG9CQUFvQixHQUN6Qiw0R0FBNEcsQ0FBQztBQUM5RyxNQUFNLHFCQUFxQixHQUMxQiw2SEFBNkgsQ0FBQztBQUMvSCxNQUFNLHdCQUF3QixHQUM3QixnSEFBZ0gsQ0FBQztBQUNsSCxNQUFNLGVBQWUsR0FDcEIscUdBQXFHLENBQUM7QUFDdkcsTUFBTSxrQkFBa0IsR0FDdkIsMEZBQTBGLENBQUM7QUFFNUY7O0dBRUc7QUFDSCxNQUFhLGdCQUFnQjtJQUM1Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyw2QkFBNkIsQ0FDbkMsS0FBbUQ7UUFFbkQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxxQ0FBcUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFXO1FBQ3pELE9BQU8scUNBQXFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMscUNBQXFDLENBQzNDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyxxQ0FBcUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUEyQjtRQUN2QyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLFVBQVUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBVztRQUNqQyxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBVztRQUMvQixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLE9BQU87U0FDOUIsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZ0M7UUFDakQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxnQkFBZ0IsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQVc7UUFDdEMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFXO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxPQUFPO1lBQzlCLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFlBQVk7U0FDeEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywyQkFBMkIsQ0FDakMsS0FBaUQ7UUFFakQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxrQ0FBa0MsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25KLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFXO1FBQ3ZELE9BQU8sbUNBQW1DLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsbUNBQW1DLENBQ3pDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyxtQ0FBbUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFpQztRQUNuRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGlCQUFpQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQVc7UUFDdkMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFXO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsd0JBQXdCLENBQzlCLEtBQThDO1FBRTlDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsK0JBQStCLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ2hLLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFXO1FBQ3BELE9BQU8sZ0NBQWdDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZ0NBQWdDLENBQ3RDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQywwQkFBMEI7U0FDcEUsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywrQkFBK0IsQ0FDckMsS0FBcUQ7UUFFckQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRywrQkFBK0IsS0FBSyxDQUFDLDBCQUEwQixJQUFJLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxDQUFDO0lBQ3pNLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxHQUFXO1FBQzNELE9BQU8sdUNBQXVDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsdUNBQXVDLENBQzdDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyx1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQywwQkFBMEI7WUFDcEUsK0JBQStCLEVBQzlCLEtBQUssQ0FBQyxNQUFPLENBQUMsK0JBQStCO1NBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsK0JBQStCLENBQ3JDLEtBQXFEO1FBRXJELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsd0NBQXdDLENBQUM7SUFDdkksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLEdBQVc7UUFDM0QsT0FBTyx1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx1Q0FBdUMsQ0FDN0MsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHVDQUF1QyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztTQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUErQjtRQUMvQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGNBQWMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFXO1FBQ3JDLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBVztRQUNuQyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsV0FBVztTQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLCtCQUErQixDQUNyQyxLQUFxRDtRQUVyRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLHNDQUFzQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdkosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLEdBQVc7UUFDM0QsT0FBTyx1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx1Q0FBdUMsQ0FDN0MsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHVDQUF1QyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWlDO1FBQ25ELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsaUJBQWlCLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBVztRQUN2QyxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFVBQVU7U0FDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FDM0IsS0FBMkM7UUFFM0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyw0QkFBNEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzdJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxHQUFXO1FBQ2pELE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQ25DLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDJCQUEyQixDQUNqQyxLQUFpRDtRQUVqRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLCtCQUErQixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0ksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLEdBQVc7UUFDdkQsT0FBTyxtQ0FBbUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxtQ0FBbUMsQ0FDekMsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxLQUFLO1NBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQzNCLEtBQTJDO1FBRTNDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsNEJBQTRCLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQzFKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxHQUFXO1FBQ2pELE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQ25DLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyx1QkFBdUI7U0FDOUQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQ0FBaUMsQ0FDdkMsS0FBdUQ7UUFFdkQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRywwQ0FBMEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQy9KLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywyQ0FBMkMsQ0FBQyxHQUFXO1FBQzdELE9BQU8seUNBQXlDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMseUNBQXlDLENBQy9DLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyx5Q0FBeUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUNkLHNEQUFzRCxHQUFHLEVBQUUsQ0FDM0QsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsY0FBYyxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsY0FBYztTQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUMzQixLQUEyQztRQUUzQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLDRCQUE0QixLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLCtCQUErQixDQUFDLEdBQVc7UUFDakQsT0FBTyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyw2QkFBNkIsQ0FDbkMsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLDZCQUE2QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxTQUFTO1NBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQzNCLEtBQTJDO1FBRTNDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsNEJBQTRCLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1SSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsK0JBQStCLENBQUMsR0FBVztRQUNqRCxPQUFPLDZCQUE2QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDZCQUE2QixDQUNuQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFNBQVM7U0FDbEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FDekIsS0FBeUM7UUFFekMsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRywwQkFBMEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxHQUFXO1FBQy9DLE9BQU8sMkJBQTJCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsMkJBQTJCLENBQ2pDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFtQztRQUN2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLG1CQUFtQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQVc7UUFDekMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQTBCO1FBQ3JDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsU0FBUyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFXO1FBQ2hDLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFXO1FBQzlCLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsTUFBTTtTQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUErQjtRQUMvQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLFNBQVMsS0FBSyxDQUFDLE1BQU0sVUFBVSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxNQUFNO1lBQzVCLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFdBQVc7U0FDdEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBbUM7UUFDdkQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxTQUFTLEtBQUssQ0FBQyxNQUFNLFVBQVUsS0FBSyxDQUFDLFdBQVcsY0FBYyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDcEwsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQVc7UUFDekMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxNQUFNO1lBQzVCLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFdBQVc7WUFDdEMsZUFBZSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsZUFBZTtTQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFxQztRQUMzRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLHNCQUFzQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDL0csQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHlCQUF5QixDQUFDLEdBQVc7UUFDM0MsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx1QkFBdUIsQ0FDN0IsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQStCO1FBQy9DLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsY0FBYyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxXQUFXO1NBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBc0M7UUFDN0QsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxzQkFBc0IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3ZJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxHQUFXO1FBQzVDLE9BQU8sd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsd0JBQXdCLENBQzlCLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFtQztRQUN2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLG1CQUFtQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQVc7UUFDekMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBc0M7UUFDN0QsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxzQkFBc0IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3ZJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxHQUFXO1FBQzVDLE9BQU8sd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsd0JBQXdCLENBQzlCLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFtQztRQUN2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLG1CQUFtQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQVc7UUFDekMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixlQUFlLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxlQUFlO1NBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWtDO1FBQ3JELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsbUJBQW1CLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsc0JBQXNCLENBQUMsR0FBVztRQUN4QyxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQVc7UUFDdEMsTUFBTSxLQUFLLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFVBQVU7U0FDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FDM0IsS0FBMkM7UUFFM0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyw0QkFBNEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzdJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxHQUFXO1FBQ2pELE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQ25DLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXdDO1FBQ2pFLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcseUJBQXlCLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNEJBQTRCLENBQUMsR0FBVztRQUM5QyxPQUFPLDBCQUEwQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUNoQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFVBQVU7U0FDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBb0M7UUFDekQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxxQkFBcUIsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFXO1FBQzFDLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsc0JBQXNCLENBQzVCLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXdDO1FBQ2pFLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcseUJBQXlCLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3SSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNEJBQTRCLENBQUMsR0FBVztRQUM5QyxPQUFPLDBCQUEwQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUNoQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLGFBQWEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGFBQWE7U0FDMUMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBNkI7UUFDM0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxZQUFZLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM3SCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBVztRQUNuQyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBVztRQUNqQyxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFVBQVU7U0FDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBNEI7UUFDekMsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxXQUFXLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBVztRQUNsQyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBVztRQUNoQyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFFBQVE7U0FDaEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBa0M7UUFDckQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxrQkFBa0IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25JLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFXO1FBQ3hDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBVztRQUN0QyxNQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFtQztRQUN2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLFdBQVcsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDakosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQVc7UUFDekMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxRQUFRO1lBQ2hDLGFBQWEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGFBQWE7U0FDMUMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFzQztRQUM3RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLHNCQUFzQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdkksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEdBQVc7UUFDNUMsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQTZCO1FBQzNDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsWUFBWSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQVc7UUFDbkMsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVc7UUFDakMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxTQUFTO1NBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWdDO1FBQ2pELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssYUFBYSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsZ0JBQWdCLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMzRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBVztRQUN0QyxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQVc7UUFDcEMsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDOztBQXB5Q0YsNENBcXlDQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjs7QUFBOUIsOENBeStCQzs7O0FBeCtCQSxtRUFBbUU7QUFDbkQsdUNBQXFCLEdBQWE7SUFDakQsK0JBQStCO0lBQy9CLGtCQUFrQjtDQUNsQixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGdDQUFjLEdBQWE7SUFDMUMsd0JBQXdCO0lBQ3hCLDZCQUE2QjtJQUM3Qix3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLHdFQUF3RTtBQUN4RCw0Q0FBMEIsR0FBYTtJQUN0RCxvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCw2Q0FBMkIsR0FBYTtJQUN2RCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLHNGQUFzRjtBQUN0RSwwREFBd0MsR0FBYTtJQUNwRSxrREFBa0Q7Q0FDbEQsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCwwQ0FBd0IsR0FBYTtJQUNwRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLHlGQUF5RjtBQUN6RSw2REFBMkMsR0FBYTtJQUN2RSxxREFBcUQ7Q0FDckQsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCwwQ0FBd0IsR0FBYTtJQUNwRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLHNEQUFzRDtBQUN0QywwQkFBUSxHQUFhO0lBQ3BDLHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0IscUJBQXFCO0lBQ3JCLG9CQUFvQjtDQUNwQixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGdDQUFjLEdBQWE7SUFDMUMsd0JBQXdCO0lBQ3hCLDZCQUE2QjtJQUM3Qix1Q0FBdUM7SUFDdkMsb0JBQW9CO0NBQ3BCLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsb0NBQWtCLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQzlFLHlEQUF5RDtBQUN6Qyw2QkFBVyxHQUFhO0lBQ3ZDLDZCQUE2QjtJQUM3QixxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLGlGQUFpRjtBQUNqRSxxREFBbUMsR0FBYTtJQUMvRCw2QkFBNkI7SUFDN0IsNkNBQTZDO0lBQzdDLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLDZCQUFXLEdBQWE7SUFDdkMscUJBQXFCO0lBQ3JCLGNBQWM7SUFDZCxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCx3Q0FBc0IsR0FBYTtJQUNsRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxrQ0FBZ0IsR0FBYTtJQUM1QywwQkFBMEI7SUFDMUIscUJBQXFCO0NBQ3JCLENBQUM7QUFDRiw0RUFBNEU7QUFDNUQsZ0RBQThCLEdBQWE7SUFDMUQsNkJBQTZCO0lBQzdCLHdDQUF3QztJQUN4QyxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLG9GQUFvRjtBQUNwRSx3REFBc0MsR0FBYTtJQUNsRSw2QkFBNkI7SUFDN0IsZ0RBQWdEO0NBQ2hELENBQUM7QUFDRixtRkFBbUY7QUFDbkUsdURBQXFDLEdBQWE7SUFDakUsNkJBQTZCO0lBQzdCLCtDQUErQztJQUMvQyxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxpQ0FBZSxHQUFhO0lBQzNDLHlCQUF5QjtJQUN6QixxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCx3Q0FBc0IsR0FBYTtJQUNsRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxtQ0FBaUIsR0FBYTtJQUM3Qyw2QkFBNkI7SUFDN0IsMkJBQTJCO0lBQzNCLGNBQWM7SUFDZCxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCw2Q0FBMkIsR0FBYTtJQUN2RCw2QkFBNkI7SUFDN0IscUNBQXFDO0lBQ3JDLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELDZDQUEyQixHQUFhO0lBQ3ZELHFDQUFxQztJQUNyQyxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCw2Q0FBMkIsR0FBYTtJQUN2RCxxQ0FBcUM7SUFDckMscUJBQXFCO0NBQ3JCLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsa0NBQWdCLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQzFFLGlFQUFpRTtBQUNqRCxxQ0FBbUIsR0FBYTtJQUMvQyw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLGNBQWM7SUFDZCxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLHdEQUF3RDtBQUN4Qyw0QkFBVSxHQUFhO0lBQ3RDLG9CQUFvQjtJQUNwQixjQUFjO0lBQ2QscUJBQXFCO0NBQ3JCLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsaUNBQWUsR0FBYTtJQUMzQyx5QkFBeUI7SUFDekIscUJBQXFCO0NBQ3JCLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzVFLDRFQUE0RTtBQUM1RCxnREFBOEIsR0FBYTtJQUMxRCw2QkFBNkI7SUFDN0Isd0NBQXdDO0NBQ3hDLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsaUNBQWUsR0FBYTtJQUMzQyw2QkFBNkI7SUFDN0IseUJBQXlCO0lBQ3pCLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELHdDQUFzQixHQUFhO0lBQ2xELDZCQUE2QjtJQUM3QixnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCx3Q0FBc0IsR0FBYTtJQUNsRCw2QkFBNkI7SUFDN0IsZ0NBQWdDO0lBQ2hDLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YsOERBQThEO0FBQzlDLGtDQUFnQixHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUMxRSxpRUFBaUU7QUFDakQscUNBQW1CLEdBQWE7SUFDL0MsMENBQTBDO0lBQzFDLDZCQUE2QjtJQUM3QixjQUFjO0lBQ2QscUJBQXFCO0NBQ3JCLENBQUM7QUFDRiw0RUFBNEU7QUFDNUQsZ0RBQThCLEdBQWE7SUFDMUQsNkJBQTZCO0lBQzdCLHdDQUF3QztJQUN4QyxjQUFjO0NBQ2QsQ0FBQztBQUNGLGdFQUFnRTtBQUNoRCxvQ0FBa0IsR0FBYTtJQUM5Qyw2QkFBNkI7SUFDN0IsNEJBQTRCO0lBQzVCLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELDZDQUEyQixHQUFhO0lBQ3ZELDZCQUE2QjtJQUM3QixxQ0FBcUM7SUFDckMsY0FBYztJQUNkLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHNDQUFvQixHQUFhO0lBQ2hELDZCQUE2QjtJQUM3Qiw4QkFBOEI7SUFDOUIsY0FBYztJQUNkLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDBDQUF3QixHQUFhO0lBQ3BELDZCQUE2QjtJQUM3QixrQ0FBa0M7SUFDbEMsY0FBYztJQUNkLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLDhCQUFZLEdBQWE7SUFDeEMsc0JBQXNCO0lBQ3RCLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELG9DQUFrQixHQUFhO0lBQzlDLDZCQUE2QjtJQUM3Qiw0QkFBNEI7SUFDNUIscUJBQXFCO0NBQ3JCLENBQUM7QUFDRixpRUFBaUU7QUFDakQscUNBQW1CLEdBQWE7SUFDL0MsNkJBQTZCO0lBQzdCLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YsOEVBQThFO0FBQzlELGtEQUFnQyxHQUFhO0lBQzVELDZCQUE2QjtJQUM3QiwwQ0FBMEM7SUFDMUMscUJBQXFCO0NBQ3JCLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsK0JBQWEsR0FBYTtJQUN6Qyx1QkFBdUI7SUFDdkIscUJBQXFCO0NBQ3JCLENBQUM7QUFDRix5REFBeUQ7QUFDekMsNkJBQVcsR0FBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDaEUsb0VBQW9FO0FBQ3BELHdDQUFzQixHQUFhO0lBQ2xELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsOERBQThEO0FBQzlDLGtDQUFnQixHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUMxRSwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzVFLGdFQUFnRTtBQUNoRCxvQ0FBa0IsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDOUUsNEVBQTRFO0FBQzVELGdEQUE4QixHQUFhO0lBQzFELDZCQUE2QjtJQUM3Qix3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLHlGQUF5RjtBQUN6RSw2REFBMkMsR0FBYTtJQUN2RSxxREFBcUQ7Q0FDckQsQ0FBQztBQUNGLG9GQUFvRjtBQUNwRSx3REFBc0MsR0FBYTtJQUNsRSxnREFBZ0Q7Q0FDaEQsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxpQ0FBZSxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN4RSwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWE7SUFDN0MsNkJBQTZCO0lBQzdCLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELDZDQUEyQixHQUFhO0lBQ3ZELDZCQUE2QjtJQUM3QixxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCw2Q0FBMkIsR0FBYTtJQUN2RCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCw2Q0FBMkIsR0FBYTtJQUN2RCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxrQ0FBZ0IsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDMUUsa0ZBQWtGO0FBQ2xFLHNEQUFvQyxHQUFhO0lBQ2hFLDhDQUE4QztDQUM5QyxDQUFDO0FBQ0Ysd0RBQXdEO0FBQ3hDLDRCQUFVLEdBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQzlELDZEQUE2RDtBQUM3QyxpQ0FBZSxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN4RSwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzVFLDRFQUE0RTtBQUM1RCxnREFBOEIsR0FBYTtJQUMxRCx3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxpQ0FBZSxHQUFhO0lBQzNDLDZCQUE2QjtJQUM3Qix5QkFBeUI7Q0FDekIsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCxxQ0FBbUIsR0FBYTtJQUMvQyw2QkFBNkI7SUFDN0IsNkJBQTZCO0NBQzdCLENBQUM7QUFDRixvRUFBb0U7QUFDcEQsd0NBQXNCLEdBQWE7SUFDbEQsNkJBQTZCO0lBQzdCLGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELHFDQUFtQixHQUFhO0lBQy9DLDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YsMEVBQTBFO0FBQzFELDhDQUE0QixHQUFhO0lBQ3hELDBDQUEwQztJQUMxQyxzQ0FBc0M7SUFDdEMsMkJBQTJCO0NBQzNCLENBQUM7QUFDRiw0RUFBNEU7QUFDNUQsZ0RBQThCLEdBQWE7SUFDMUQsNkJBQTZCO0lBQzdCLHdDQUF3QztDQUN4QyxDQUFDO0FBQ0YsdUZBQXVGO0FBQ3ZFLDJEQUF5QyxHQUFhO0lBQ3JFLG1EQUFtRDtDQUNuRCxDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLDhCQUFZLEdBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ2xFLGdFQUFnRTtBQUNoRCxvQ0FBa0IsR0FBYTtJQUM5Qyw2QkFBNkI7SUFDN0IsNEJBQTRCO0NBQzVCLENBQUM7QUFDRiw4RUFBOEU7QUFDOUQsa0RBQWdDLEdBQWE7SUFDNUQsNkJBQTZCO0lBQzdCLDBDQUEwQztDQUMxQyxDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHNDQUFvQixHQUFhO0lBQ2hELDhCQUE4QjtJQUM5QiwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQywrQkFBYSxHQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUNwRSxnRkFBZ0Y7QUFDaEUsb0RBQWtDLEdBQWE7SUFDOUQsNENBQTRDO0NBQzVDLENBQUM7QUFDRiwyRUFBMkU7QUFDM0QsK0NBQTZCLEdBQWE7SUFDekQsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRiw0RUFBNEU7QUFDNUQsZ0RBQThCLEdBQWE7SUFDMUQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRix3REFBd0Q7QUFDeEMsNEJBQVUsR0FBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDOUQsbUZBQW1GO0FBQ25FLHVEQUFxQyxHQUFhO0lBQ2pFLDZCQUE2QjtJQUM3QiwrQ0FBK0M7Q0FDL0MsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQywrQkFBYSxHQUFhO0lBQ3pDLHVCQUF1QjtJQUN2QiwwQkFBMEI7Q0FDMUIsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCwyQ0FBeUIsR0FBYTtJQUNyRCw2QkFBNkI7SUFDN0IsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRiw4RUFBOEU7QUFDOUQsb0RBQWtDLEdBQWE7SUFDOUQsMENBQTBDO0NBQzFDLENBQUM7QUFDRixzREFBc0Q7QUFDdEMsNEJBQVUsR0FBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDNUQsaUVBQWlFO0FBQ2pELHVDQUFxQixHQUFhO0lBQ2pELDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLGlDQUFlLEdBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3RFLGtFQUFrRTtBQUNsRCx3Q0FBc0IsR0FBYTtJQUNsRCw4QkFBOEI7Q0FDOUIsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCx5Q0FBdUIsR0FBYTtJQUNuRCwrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLDREQUE0RDtBQUM1QyxrQ0FBZ0IsR0FBYSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDeEUsNkRBQTZEO0FBQzdDLG1DQUFpQixHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUMxRSw0REFBNEQ7QUFDNUMsa0NBQWdCLEdBQWE7SUFDNUMsNkJBQTZCO0lBQzdCLHdCQUF3QjtDQUN4QixDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELCtDQUE2QixHQUFhO0lBQ3pELDZCQUE2QjtJQUM3QixxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLG9GQUFvRjtBQUNwRSwwREFBd0MsR0FBYTtJQUNwRSxnREFBZ0Q7Q0FDaEQsQ0FBQztBQUNGLHNGQUFzRjtBQUN0RSw0REFBMEMsR0FBYTtJQUN0RSxrREFBa0Q7Q0FDbEQsQ0FBQztBQUNGLGtHQUFrRztBQUNsRix3RUFBc0QsR0FDckUsQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO0FBQ2xFLHFGQUFxRjtBQUNyRSwyREFBeUMsR0FBYTtJQUNyRSxpREFBaUQ7Q0FDakQsQ0FBQztBQUNGLGlGQUFpRjtBQUNqRSx1REFBcUMsR0FBYTtJQUNqRSw2Q0FBNkM7Q0FDN0MsQ0FBQztBQUNGLG1GQUFtRjtBQUNuRSx5REFBdUMsR0FBYTtJQUNuRSwrQ0FBK0M7Q0FDL0MsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyxnQ0FBYyxHQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNwRSw0RUFBNEU7QUFDNUQsa0RBQWdDLEdBQWE7SUFDNUQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRiw0REFBNEQ7QUFDNUMsa0NBQWdCLEdBQWE7SUFDNUMsNkJBQTZCO0lBQzdCLHdCQUF3QjtDQUN4QixDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDRDQUEwQixHQUFhO0lBQ3RELDZCQUE2QjtJQUM3QixrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCw0Q0FBMEIsR0FBYTtJQUN0RCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLDRFQUE0RTtBQUM1RCxrREFBZ0MsR0FBYTtJQUM1RCx3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLGtGQUFrRjtBQUNsRSx3REFBc0MsR0FBYTtJQUNsRSw4Q0FBOEM7Q0FDOUMsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCw0Q0FBMEIsR0FBYTtJQUN0RCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCwyQ0FBeUIsR0FBYTtJQUNyRCxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxpQ0FBZSxHQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUN0RSxnRUFBZ0U7QUFDaEQsc0NBQW9CLEdBQWE7SUFDaEQsNEJBQTRCO0lBQzVCLGtCQUFrQjtDQUNsQixDQUFDO0FBQ0YsOERBQThEO0FBQzlDLG9DQUFrQixHQUFhO0lBQzlDLDZCQUE2QjtJQUM3QiwwQkFBMEI7Q0FDMUIsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCw0Q0FBMEIsR0FBYTtJQUN0RCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLHFEQUFxRDtBQUNyQywyQkFBUyxHQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUMxRCwwREFBMEQ7QUFDMUMsZ0NBQWMsR0FBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDcEUsOERBQThEO0FBQzlDLG9DQUFrQixHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUM1RSw0REFBNEQ7QUFDNUMsa0NBQWdCLEdBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ3hFLGdFQUFnRTtBQUNoRCxzQ0FBb0IsR0FBYTtJQUNoRCw2QkFBNkI7SUFDN0IsNEJBQTRCO0NBQzVCLENBQUM7QUFDRiw0RUFBNEU7QUFDNUQsa0RBQWdDLEdBQWE7SUFDNUQsNkJBQTZCO0lBQzdCLHdDQUF3QztDQUN4QyxDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLGdDQUFjLEdBQWE7SUFDMUMsNkJBQTZCO0lBQzdCLHNCQUFzQjtDQUN0QixDQUFDO0FBQ0YsOERBQThEO0FBQzlDLG9DQUFrQixHQUFhO0lBQzlDLDZCQUE2QjtJQUM3QiwwQkFBMEI7Q0FDMUIsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCx1Q0FBcUIsR0FBYTtJQUNqRCw2QkFBNkI7SUFDN0IsNkJBQTZCO0NBQzdCLENBQUM7QUFDRixvRUFBb0U7QUFDcEQsMENBQXdCLEdBQWE7SUFDcEQsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsbUNBQWlCLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQzFFLCtEQUErRDtBQUMvQyxxQ0FBbUIsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDOUUsOERBQThEO0FBQzlDLG9DQUFrQixHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUM1RSx1RUFBdUU7QUFDdkQsNkNBQTJCLEdBQWE7SUFDdkQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRix5RUFBeUU7QUFDekQsK0NBQTZCLEdBQWE7SUFDekQsNkJBQTZCO0lBQzdCLHFDQUFxQztDQUNyQyxDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLG1DQUFpQixHQUFhO0lBQzdDLDZCQUE2QjtJQUM3Qix5QkFBeUI7Q0FDekIsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCw0Q0FBMEIsR0FBYTtJQUN0RCw2QkFBNkI7SUFDN0Isa0NBQWtDO0NBQ2xDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MscUNBQW1CLEdBQWE7SUFDL0MsNkJBQTZCO0lBQzdCLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsbUVBQW1FO0FBQ25ELHlDQUF1QixHQUFhO0lBQ25ELDZCQUE2QjtJQUM3QiwrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLG9GQUFvRjtBQUNwRSwwREFBd0MsR0FBYTtJQUNwRSw2QkFBNkI7SUFDN0IsZ0RBQWdEO0NBQ2hELENBQUM7QUFDRix1REFBdUQ7QUFDdkMsNkJBQVcsR0FBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDOUQsNkRBQTZEO0FBQzdDLG1DQUFpQixHQUFhO0lBQzdDLDZCQUE2QjtJQUM3Qix5QkFBeUI7Q0FDekIsQ0FBQztBQUNGLDJFQUEyRTtBQUMzRCxpREFBK0IsR0FBYTtJQUMzRCw2QkFBNkI7SUFDN0IsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MscUNBQW1CLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzlFLHdEQUF3RDtBQUN4Qyw4QkFBWSxHQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUNoRSxzRUFBc0U7QUFDdEQsNENBQTBCLEdBQWE7SUFDdEQsNkJBQTZCO0lBQzdCLGtDQUFrQztDQUNsQyxDQUFDO0FBQ0YsMEVBQTBFO0FBQzFELDhDQUE0QixHQUFhO0lBQ3hELDBDQUEwQztJQUMxQyxzQ0FBc0M7SUFDdEMsMkJBQTJCO0NBQzNCLENBQUM7QUFDRix5REFBeUQ7QUFDekMsNkJBQVcsR0FBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDaEUsOEVBQThFO0FBQzlELGtEQUFnQyxHQUFhO0lBQzVELDBDQUEwQztJQUMxQyxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCxzQ0FBb0IsR0FBYTtJQUNoRCw4QkFBOEI7Q0FDOUIsQ0FBQztBQUNGLHVFQUF1RTtBQUN2RCwyQ0FBeUIsR0FBYTtJQUNyRCxtQ0FBbUM7SUFDbkMscUJBQXFCO0NBQ3JCLENBQUM7QUFDRixxRkFBcUY7QUFDckUseURBQXVDLEdBQWE7SUFDbkUsaURBQWlEO0lBQ2pELHFCQUFxQjtDQUNyQixDQUFDO0FBQ0Ysd0RBQXdEO0FBQ3hDLDRCQUFVLEdBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQzlELG1FQUFtRTtBQUNuRCx1Q0FBcUIsR0FBYTtJQUNqRCw2QkFBNkI7SUFDN0IsK0JBQStCO0NBQy9CLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzVFLHlEQUF5RDtBQUN6Qyw2QkFBVyxHQUFhO0lBQ3ZDLHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0IscUJBQXFCO0lBQ3JCLG9CQUFvQjtDQUNwQixDQUFDO0FBQ0YsZ0ZBQWdGO0FBQ2hFLG9EQUFrQyxHQUFhO0lBQzlELHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YsMkVBQTJFO0FBQzNELCtDQUE2QixHQUFhO0lBQ3pELHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0IscUJBQXFCO0lBQ3JCLHVDQUF1QztJQUN2QyxvQkFBb0I7Q0FDcEIsQ0FBQztBQUNGLGdGQUFnRjtBQUNoRSxvREFBa0MsR0FBYTtJQUM5RCw2QkFBNkI7SUFDN0IsNENBQTRDO0NBQzVDLENBQUM7QUFDRixtRUFBbUU7QUFDbkQsdUNBQXFCLEdBQWE7SUFDakQsK0JBQStCO0NBQy9CLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsa0NBQWdCLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQzFFLG9FQUFvRTtBQUNwRCx3Q0FBc0IsR0FBYTtJQUNsRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCx5Q0FBdUIsR0FBYTtJQUNuRCxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxtQ0FBaUIsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDNUUsd0RBQXdEO0FBQ3hDLDRCQUFVLEdBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQzlELDhEQUE4RDtBQUM5QyxrQ0FBZ0IsR0FBYTtJQUM1Qyw2QkFBNkI7SUFDN0IsMEJBQTBCO0NBQzFCLENBQUM7QUFDRiw0RUFBNEU7QUFDNUQsZ0RBQThCLEdBQWE7SUFDMUQsNkJBQTZCO0lBQzdCLHdDQUF3QztDQUN4QyxDQUFDO0FBQ0Ysd0ZBQXdGO0FBQ3hFLDREQUEwQyxHQUFhO0lBQ3RFLG9EQUFvRDtDQUNwRCxDQUFDO0FBQ0YsbUZBQW1GO0FBQ25FLHVEQUFxQyxHQUFhO0lBQ2pFLCtDQUErQztDQUMvQyxDQUFDO0FBQ0YscUZBQXFGO0FBQ3JFLHlEQUF1QyxHQUFhO0lBQ25FLDZCQUE2QjtJQUM3QixpREFBaUQ7Q0FDakQsQ0FBQztBQUNGLDREQUE0RDtBQUM1QyxnQ0FBYyxHQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUN0RSx3RUFBd0U7QUFDeEQsNENBQTBCLEdBQWE7SUFDdEQsNkJBQTZCO0lBQzdCLG9DQUFvQztDQUNwQyxDQUFDO0FBQ0YsOERBQThEO0FBQzlDLGtDQUFnQixHQUFhO0lBQzVDLDZCQUE2QjtJQUM3QiwwQkFBMEI7Q0FDMUIsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCw2Q0FBMkIsR0FBYTtJQUN2RCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLCtFQUErRTtBQUMvRCxtREFBaUMsR0FBYTtJQUM3RCwyQ0FBMkM7Q0FDM0MsQ0FBQztBQUNGLG9GQUFvRjtBQUNwRSx3REFBc0MsR0FBYTtJQUNsRSxnREFBZ0Q7Q0FDaEQsQ0FBQztBQUNGLHdFQUF3RTtBQUN4RCw0Q0FBMEIsR0FBYTtJQUN0RCxvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxpQ0FBZSxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN4RSxpRkFBaUY7QUFDakUscURBQW1DLEdBQWE7SUFDL0QsNkNBQTZDO0NBQzdDLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsb0NBQWtCLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQzlFLDZEQUE2RDtBQUM3QyxpQ0FBZSxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN4RSxxRUFBcUU7QUFDckQseUNBQXVCLEdBQWE7SUFDbkQsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsb0NBQWtCLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQzlFLDhEQUE4RDtBQUM5QyxrQ0FBZ0IsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDMUUsdURBQXVEO0FBQ3ZDLDJCQUFTLEdBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQzVELGdGQUFnRjtBQUNoRSxvREFBa0MsR0FBYTtJQUM5RCw2QkFBNkI7SUFDN0IsNENBQTRDO0NBQzVDLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsc0NBQW9CLEdBQWE7SUFDaEQsNkJBQTZCO0lBQzdCLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGdDQUFjLEdBQWE7SUFDMUMsNkJBQTZCO0lBQzdCLHdCQUF3QjtDQUN4QixDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELG9DQUFrQixHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM5RSxtRUFBbUU7QUFDbkQsdUNBQXFCLEdBQWE7SUFDakQsNkJBQTZCO0lBQzdCLCtCQUErQjtDQUMvQixDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLG1DQUFpQixHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUM1RSxpRUFBaUU7QUFDakQscUNBQW1CLEdBQWE7SUFDL0MsNkJBQTZCO0lBQzdCLHlCQUF5QjtDQUN6QixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLGlDQUFlLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3hFLHdFQUF3RTtBQUN4RCw0Q0FBMEIsR0FBYTtJQUN0RCxvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLGdFQUFnRTtBQUNoRCxvQ0FBa0IsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDOUUsMkVBQTJFO0FBQzNELCtDQUE2QixHQUFhO0lBQ3pELDZCQUE2QjtJQUM3Qix1Q0FBdUM7Q0FDdkMsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxtQ0FBaUIsR0FBYTtJQUM3Qyw2QkFBNkI7SUFDN0IsMkJBQTJCO0NBQzNCLENBQUM7QUFDRix3RUFBd0U7QUFDeEQsNENBQTBCLEdBQWE7SUFDdEQsNkJBQTZCO0lBQzdCLG9DQUFvQztDQUNwQyxDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELHFDQUFtQixHQUFhO0lBQy9DLDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YscUVBQXFFO0FBQ3JELHlDQUF1QixHQUFhO0lBQ25ELDZCQUE2QjtJQUM3QixpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxtQ0FBaUIsR0FBYTtJQUM3Qyw2QkFBNkI7SUFDN0IsMkJBQTJCO0NBQzNCLENBQUM7QUFDRix5REFBeUQ7QUFDekMsNkJBQVcsR0FBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDaEUsNkVBQTZFO0FBQzdELGlEQUErQixHQUFhO0lBQzNELDZCQUE2QjtJQUM3Qix5Q0FBeUM7Q0FDekMsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyw4QkFBWSxHQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNsRSxpRUFBaUU7QUFDakQscUNBQW1CLEdBQWE7SUFDL0MsNkJBQTZCO0lBQzdCLDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGdDQUFjLEdBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ3RFLDBEQUEwRDtBQUMxQyw4QkFBWSxHQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNsRSx5REFBeUQ7QUFDekMsNkJBQVcsR0FBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDaEUscUVBQXFFO0FBQ3JELHlDQUF1QixHQUFhO0lBQ25ELDZCQUE2QjtJQUM3QixpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLCtFQUErRTtBQUMvRCxtREFBaUMsR0FBYTtJQUM3RCwyQ0FBMkM7Q0FDM0MsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxtQ0FBaUIsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDNUUsb0ZBQW9GO0FBQ3BFLHdEQUFzQyxHQUFhO0lBQ2xFLDZCQUE2QjtJQUM3QixjQUFjO0lBQ2QsZ0RBQWdEO0NBQ2hELENBQUM7QUFDRiwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzVFLHNFQUFzRTtBQUN0RCwwQ0FBd0IsR0FBYTtJQUNwRCw2QkFBNkI7SUFDN0Isa0NBQWtDO0NBQ2xDLENBQUM7QUFDRiw4RUFBOEU7QUFDOUQsa0RBQWdDLEdBQWE7SUFDNUQsMENBQTBDO0NBQzFDLENBQUM7QUFDRixvREFBb0Q7QUFDcEMsd0JBQU0sR0FBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDdEQsc0RBQXNEO0FBQ3RDLDBCQUFRLEdBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzFELGlFQUFpRTtBQUNqRCxxQ0FBbUIsR0FBYTtJQUMvQyw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLHVFQUF1RTtBQUN2RCwyQ0FBeUIsR0FBYTtJQUNyRCw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxrQ0FBZ0IsR0FBYTtJQUM1Qyw2QkFBNkI7SUFDN0IscUJBQXFCO0lBQ3JCLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0Ysd0ZBQXdGO0FBQ3hFLDREQUEwQyxHQUFhO0lBQ3RFLG9EQUFvRDtDQUNwRCxDQUFDO0FBQ0YsdUZBQXVGO0FBQ3ZFLDJEQUF5QyxHQUFhO0lBQ3JFLDZCQUE2QjtJQUM3Qix3Q0FBd0M7SUFDeEMsbURBQW1EO0NBQ25ELENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsb0NBQWtCLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQzlFLCtEQUErRDtBQUMvQyxtQ0FBaUIsR0FBYTtJQUM3QywwQ0FBMEM7SUFDMUMsMkJBQTJCO0NBQzNCLENBQUM7QUFDRiwrRUFBK0U7QUFDL0QsbURBQWlDLEdBQWE7SUFDN0QsMkNBQTJDO0NBQzNDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzVFLCtEQUErRDtBQUMvQyxtQ0FBaUIsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDNUUsOERBQThEO0FBQzlDLGtDQUFnQixHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUMxRSx1RUFBdUU7QUFDdkQsMkNBQXlCLEdBQWE7SUFDckQsNkJBQTZCO0lBQzdCLG1DQUFtQztDQUNuQyxDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELHdDQUFzQixHQUFhO0lBQ2xELDZCQUE2QjtJQUM3QixnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLHlEQUF5RDtBQUN6Qyw2QkFBVyxHQUFhO0lBQ3ZDLDZCQUE2QjtJQUM3QixxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQywrQkFBYSxHQUFhO0lBQ3pDLDZCQUE2QjtJQUM3Qix1QkFBdUI7Q0FDdkIsQ0FBQztBQUNGLHlEQUF5RDtBQUN6Qyw2QkFBVyxHQUFhO0lBQ3ZDLGNBQWM7SUFDZCxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCx3Q0FBc0IsR0FBYTtJQUNsRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxrQ0FBZ0IsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDMUUscUVBQXFFO0FBQ3JELHlDQUF1QixHQUFhO0lBQ25ELGlDQUFpQztDQUNqQyxDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDBDQUF3QixHQUFhO0lBQ3BELGtDQUFrQztDQUNsQyxDQUFDO0FBQ0YsNEVBQTRFO0FBQzVELGdEQUE4QixHQUFhO0lBQzFELDZCQUE2QjtJQUM3Qix3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLHVGQUF1RjtBQUN2RSwyREFBeUMsR0FBYTtJQUNyRSxtREFBbUQ7Q0FDbkQsQ0FBQztBQUNGLG9GQUFvRjtBQUNwRSx3REFBc0MsR0FBYTtJQUNsRSxnREFBZ0Q7Q0FDaEQsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxpQ0FBZSxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN4RSx5RUFBeUU7QUFDekQsNkNBQTJCLEdBQWE7SUFDdkQsNkJBQTZCO0lBQzdCLHFDQUFxQztDQUNyQyxDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELDZDQUEyQixHQUFhO0lBQ3ZELHFDQUFxQztDQUNyQyxDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELDZDQUEyQixHQUFhO0lBQ3ZELHFDQUFxQztDQUNyQyxDQUFDO0FBQ0YsOERBQThEO0FBQzlDLGtDQUFnQixHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUMxRSx3REFBd0Q7QUFDeEMsNEJBQVUsR0FBYSxDQUFDLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBQzlFLDZEQUE2RDtBQUM3QyxpQ0FBZSxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN4RSw2REFBNkQ7QUFDN0MsaUNBQWUsR0FBYTtJQUMzQyw2QkFBNkI7SUFDN0IseUJBQXlCO0NBQ3pCLENBQUM7QUFDRixpRUFBaUU7QUFDakQscUNBQW1CLEdBQWE7SUFDL0MsMENBQTBDO0lBQzFDLGNBQWM7SUFDZCw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLDRFQUE0RTtBQUM1RCxnREFBOEIsR0FBYTtJQUMxRCw2QkFBNkI7SUFDN0IsY0FBYztJQUNkLHdDQUF3QztDQUN4QyxDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLDhCQUFZLEdBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ2xFLDhFQUE4RTtBQUM5RCxrREFBZ0MsR0FBYTtJQUM1RCw2QkFBNkI7SUFDN0IsMENBQTBDO0NBQzFDLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsK0JBQWEsR0FBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFDcEUsb0VBQW9FO0FBQ3BELHdDQUFzQixHQUFhO0lBQ2xELGdDQUFnQztDQUNoQyxDQUFDO0FBR0g7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjtJQThON0I7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLDBCQUEwQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBZ0I7UUFDOUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FDckIsS0FBYTtRQUViLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FDdkIsS0FBYTtRQUViLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FDekIsS0FBYTtRQUViLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSw2QkFBNkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FDekIsS0FBYTtRQUViLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSw2QkFBNkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQ3JCLEtBQWE7UUFFYixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQWE7UUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFhO1FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQ3JCLEtBQWE7UUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWE7UUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLHFCQUFxQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDJDQUEyQyxDQUNqRCxLQUFhO1FBRWIsT0FBTztZQUNOLFNBQVMsRUFBRTtnQkFDVixxREFBcUQsRUFBRSxLQUFLO2FBQzVEO1NBQ0QsQ0FBQztJQUNILENBQUM7O0FBelVGLDhDQTBVQzs7O0FBelVBLGdGQUFnRjtBQUNoRSwrREFBNkMsR0FBYTtJQUN6RSxxREFBcUQ7Q0FDckQsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCxrREFBZ0MsR0FBYTtJQUM1RCx5QkFBeUI7Q0FDekIsQ0FBQztBQUNGLG1GQUFtRjtBQUNuRSxrRUFBZ0QsR0FBYTtJQUM1RSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsMENBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELHFEQUFtQyxHQUFhO0lBQy9ELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLGdFQUFnRTtBQUNoRCwrQ0FBNkIsR0FBYTtJQUN6RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw4RUFBOEU7QUFDOUQsNkRBQTJDLEdBQWE7SUFDdkUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YscUZBQXFGO0FBQ3JFLG9FQUFrRCxHQUNqRSxDQUFDLDBCQUEwQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQzdDLCtEQUErRDtBQUMvQyw4Q0FBNEIsR0FBYTtJQUN4RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixpRUFBaUU7QUFDakQsZ0RBQThCLEdBQWE7SUFDMUQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkVBQTJFO0FBQzNELDBEQUF3QyxHQUFhO0lBQ3BFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDJFQUEyRTtBQUMzRCwwREFBd0MsR0FBYTtJQUNwRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwyRUFBMkU7QUFDM0QsMERBQXdDLEdBQWE7SUFDcEUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsbUVBQW1FO0FBQ25ELGtEQUFnQyxHQUFhO0lBQzVELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyx5Q0FBdUIsR0FBYTtJQUNuRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MsOENBQTRCLEdBQWE7SUFDeEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLDhDQUE0QixHQUFhO0lBQ3hELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCxxREFBbUMsR0FBYTtJQUMvRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixtRUFBbUU7QUFDbkQsa0RBQWdDLEdBQWE7SUFDNUQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELGlEQUErQixHQUFhO0lBQzNELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDJFQUEyRTtBQUMzRCwwREFBd0MsR0FBYTtJQUNwRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRix3RUFBd0U7QUFDeEQsdURBQXFDLEdBQWE7SUFDakUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELG1EQUFpQyxHQUFhO0lBQzdELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLHdFQUF3RTtBQUN4RCx1REFBcUMsR0FBYTtJQUNqRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw0REFBNEQ7QUFDNUMsMkNBQXlCLEdBQWE7SUFDckQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELGlEQUErQixHQUFhO0lBQzNELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCxrREFBZ0MsR0FBYTtJQUM1RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixnRkFBZ0Y7QUFDaEUsK0RBQTZDLEdBQWE7SUFDekUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLDRDQUEwQixHQUFhO0lBQ3RELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLGdGQUFnRjtBQUNoRSwrREFBNkMsR0FBYTtJQUN6RSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRix5RUFBeUU7QUFDekQsd0RBQXNDLEdBQWE7SUFDbEUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsdUZBQXVGO0FBQ3ZFLHNFQUFvRCxHQUNuRSxDQUFDLDBCQUEwQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQzdDLGlFQUFpRTtBQUNqRCxnREFBOEIsR0FBYTtJQUMxRCx5QkFBeUI7Q0FDekIsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQywwQ0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0Isa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQix5QkFBeUI7SUFDekIscUJBQXFCO0NBQ3JCLENBQUM7QUFDRiw2RUFBNkU7QUFDN0QsNERBQTBDLEdBQWE7SUFDdEUsNkJBQTZCO0lBQzdCLDZCQUE2QjtJQUM3Qix5QkFBeUI7SUFDekIscUJBQXFCO0NBQ3JCLENBQUM7QUFDRix1RUFBdUU7QUFDdkQsc0RBQW9DLEdBQWE7SUFDaEUsMkJBQTJCO0NBQzNCLENBQUM7QUFDRixpRUFBaUU7QUFDakQsZ0RBQThCLEdBQWE7SUFDMUQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLDBDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyw0Q0FBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2QyxpQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxrQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsOEJBQVksR0FBRyxhQUFhLENBQUM7QUFDN0Msc0RBQXNEO0FBQ3RDLG1DQUFpQixHQUFHLHlCQUF5QixDQUFDO0FBQzlELHdEQUF3RDtBQUN4QyxxQ0FBbUIsR0FBRywyQkFBMkIsQ0FBQztBQUNsRSx1REFBdUQ7QUFDdkMsc0NBQW9CLEdBQUcsNkJBQTZCLENBQUM7QUFDckUsdURBQXVEO0FBQ3ZDLHVDQUFxQixHQUFHLDZCQUE2QixDQUFDO0FBQ3RFLHNEQUFzRDtBQUN0QyxtQ0FBaUIsR0FBRyx5QkFBeUIsQ0FBQztBQUM5RCw0Q0FBNEM7QUFDNUIsMkJBQVMsR0FBRyxrQkFBa0IsQ0FBQztBQUMvQyw4Q0FBOEM7QUFDOUIsNkJBQVcsR0FBRyxvQkFBb0IsQ0FBQztBQUNuRCxtREFBbUQ7QUFDbkMsbUNBQWlCLEdBQUcseUJBQXlCLENBQUM7QUFDOUQsa0RBQWtEO0FBQ2xDLDhCQUFZLEdBQUcscUJBQXFCLENBQUM7QUFDckQsK0VBQStFO0FBQy9ELG1FQUFpRCxHQUNoRSxxREFBcUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2JlZHJvY2suanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGJlZHJvY2sgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEJlZHJvY2tBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiYmVkcm9ja1wiO1xuXG5cdC8qKiBbUmVhZF0gYmVkcm9jazpBZ2VudGljUmV0cmlldmVTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFnZW50aWNSZXRyaWV2ZVN0cmVhbSA9IFwiYmVkcm9jazpBZ2VudGljUmV0cmlldmVTdHJlYW1cIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gYmVkcm9jazpBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSA9XG5cdFx0XCJiZWRyb2NrOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6QXBwbHlHdWFyZHJhaWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFwcGx5R3VhcmRyYWlsID0gXCJiZWRyb2NrOkFwcGx5R3VhcmRyYWlsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6QXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yID1cblx0XHRcImJlZHJvY2s6QXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpBc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSA9XG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZSA9XG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6QmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpCYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYiA9IFwiYmVkcm9jazpCYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW4gPSBcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgPVxuXHRcdFwiYmVkcm9jazpDYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q2FuY2VsSW52b2tlICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxJbnZva2UgPSBcImJlZHJvY2s6Q2FuY2VsSW52b2tlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IENoZWNrSW5nZXN0ZWREb2N1bWVudEFjbCA9IFwiYmVkcm9jazpDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2xcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDb3B5Qmx1ZXByaW50U3RhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlCbHVlcHJpbnRTdGFnZSA9IFwiYmVkcm9jazpDb3B5Qmx1ZXByaW50U3RhZ2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkNvdW50VG9rZW5zICovXG5cdHN0YXRpYyByZWFkb25seSBDb3VudFRva2VucyA9IFwiYmVkcm9jazpDb3VudFRva2Vuc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50ID0gXCJiZWRyb2NrOkNyZWF0ZUFnZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQWdlbnRBY3Rpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cCA9IFwiYmVkcm9jazpDcmVhdGVBZ2VudEFjdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQWdlbnRBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBbGlhcyA9IFwiYmVkcm9jazpDcmVhdGVBZ2VudEFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQmx1ZXByaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCbHVlcHJpbnQgPSBcImJlZHJvY2s6Q3JlYXRlQmx1ZXByaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQmx1ZXByaW50VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50VmVyc2lvbiA9IFwiYmVkcm9jazpDcmVhdGVCbHVlcHJpbnRWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQ3VzdG9tTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbU1vZGVsID0gXCJiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRGF0YVNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVNvdXJjZSA9IFwiYmVkcm9jazpDcmVhdGVEYXRhU291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRGF0YVNvdXJjZVRva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhU291cmNlVG9rZW4gPSBcImJlZHJvY2s6Q3JlYXRlRGF0YVNvdXJjZVRva2VuXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZhbHVhdGlvbkpvYiA9IFwiYmVkcm9jazpDcmVhdGVFdmFsdWF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvdyA9IFwiYmVkcm9jazpDcmVhdGVGbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRmxvd0FsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93QWxpYXMgPSBcImJlZHJvY2s6Q3JlYXRlRmxvd0FsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRmxvd1ZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dWZXJzaW9uID0gXCJiZWRyb2NrOkNyZWF0ZUZsb3dWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVHdWFyZHJhaWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUd1YXJkcmFpbCA9IFwiYmVkcm9jazpDcmVhdGVHdWFyZHJhaWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVHdWFyZHJhaWxWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWxWZXJzaW9uID0gXCJiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVJbmZlcmVuY2VQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VQcm9maWxlID0gXCJiZWRyb2NrOkNyZWF0ZUluZmVyZW5jZVByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVJbnZvY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnZvY2F0aW9uID0gXCJiZWRyb2NrOkNyZWF0ZUludm9jYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOkNyZWF0ZUtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZU1vZGVsQ29weUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDb3B5Sm9iID0gXCJiZWRyb2NrOkNyZWF0ZU1vZGVsQ29weUpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2IgPSBcImJlZHJvY2s6Q3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlTW9kZWxJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW1wb3J0Sm9iID0gXCJiZWRyb2NrOkNyZWF0ZU1vZGVsSW1wb3J0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEludm9jYXRpb25Kb2IgPSBcImJlZHJvY2s6Q3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlUHJvbXB0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHQgPSBcImJlZHJvY2s6Q3JlYXRlUHJvbXB0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlUHJvbXB0Um91dGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRSb3V0ZXIgPSBcImJlZHJvY2s6Q3JlYXRlUHJvbXB0Um91dGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlUHJvbXB0VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvbXB0VmVyc2lvbiA9IFwiYmVkcm9jazpDcmVhdGVQcm9tcHRWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXNzaW9uID0gXCJiZWRyb2NrOkNyZWF0ZVNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnQgPSBcImJlZHJvY2s6RGVsZXRlQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBZ2VudEFjdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudEFjdGlvbkdyb3VwID0gXCJiZWRyb2NrOkRlbGV0ZUFnZW50QWN0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBZ2VudEFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudEFsaWFzID0gXCJiZWRyb2NrOkRlbGV0ZUFnZW50QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBZ2VudE1lbW9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRNZW1vcnkgPSBcImJlZHJvY2s6RGVsZXRlQWdlbnRNZW1vcnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBZ2VudFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50VmVyc2lvbiA9IFwiYmVkcm9jazpEZWxldGVBZ2VudFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlID1cblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVCbHVlcHJpbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJsdWVwcmludCA9IFwiYmVkcm9jazpEZWxldGVCbHVlcHJpbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVDdXN0b21Nb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tTW9kZWwgPSBcImJlZHJvY2s6RGVsZXRlQ3VzdG9tTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhQXV0b21hdGlvblByb2plY3QgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvblByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVEYXRhU291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhU291cmNlID0gXCJiZWRyb2NrOkRlbGV0ZURhdGFTb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUZsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3cgPSBcImJlZHJvY2s6RGVsZXRlRmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUZsb3dBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd0FsaWFzID0gXCJiZWRyb2NrOkRlbGV0ZUZsb3dBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUZsb3dWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93VmVyc2lvbiA9IFwiYmVkcm9jazpEZWxldGVGbG93VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlR3VhcmRyYWlsICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHdWFyZHJhaWwgPSBcImJlZHJvY2s6RGVsZXRlR3VhcmRyYWlsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlSW1wb3J0ZWRNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1wb3J0ZWRNb2RlbCA9IFwiYmVkcm9jazpEZWxldGVJbXBvcnRlZE1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlSW5mZXJlbmNlUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlUHJvZmlsZSA9IFwiYmVkcm9jazpEZWxldGVJbmZlcmVuY2VQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlSW52b2tlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnZva2UgPSBcImJlZHJvY2s6RGVsZXRlSW52b2tlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpEZWxldGVLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50cyA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVNYXJrZXRwbGFjZU1vZGVsQWdyZWVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNYXJrZXRwbGFjZU1vZGVsQWdyZWVtZW50ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlTWFya2V0cGxhY2VNb2RlbEFncmVlbWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6RGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVQcm9tcHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb21wdCA9IFwiYmVkcm9jazpEZWxldGVQcm9tcHRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVQcm9tcHRSb3V0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb21wdFJvdXRlciA9IFwiYmVkcm9jazpEZWxldGVQcm9tcHRSb3V0ZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9IFwiYmVkcm9jazpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZVNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlc3Npb24gPSBcImJlZHJvY2s6RGVsZXRlU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpEZXRlY3RHZW5lcmF0ZWRDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RHZW5lcmF0ZWRDb250ZW50ID0gXCJiZWRyb2NrOkRldGVjdEdlbmVyYXRlZENvbnRlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgPVxuXHRcdFwiYmVkcm9jazpEaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlID1cblx0XHRcImJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RW5kU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5kU2Vzc2lvbiA9IFwiYmVkcm9jazpFbmRTZXNzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpFeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uID1cblx0XHRcImJlZHJvY2s6RXhwb3J0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2VuZXJhdGVRdWVyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVRdWVyeSA9IFwiYmVkcm9jazpHZW5lcmF0ZVF1ZXJ5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBY2NvdW50RGF0YVJldGVudGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWNjb3VudERhdGFSZXRlbnRpb24gPVxuXHRcdFwiYmVkcm9jazpHZXRBY2NvdW50RGF0YVJldGVudGlvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6R2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudCA9IFwiYmVkcm9jazpHZXRBZ2VudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnRBY3Rpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRBY3Rpb25Hcm91cCA9IFwiYmVkcm9jazpHZXRBZ2VudEFjdGlvbkdyb3VwXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudEFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudEFsaWFzID0gXCJiZWRyb2NrOkdldEFnZW50QWxpYXNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50Q29sbGFib3JhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudENvbGxhYm9yYXRvciA9IFwiYmVkcm9jazpHZXRBZ2VudENvbGxhYm9yYXRvclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnRLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudEtub3dsZWRnZUJhc2UgPSBcImJlZHJvY2s6R2V0QWdlbnRLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudE1lbW9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRNZW1vcnkgPSBcImJlZHJvY2s6R2V0QWdlbnRNZW1vcnlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRWZXJzaW9uID0gXCJiZWRyb2NrOkdldEFnZW50VmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXN5bmNJbnZva2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFzeW5jSW52b2tlID0gXCJiZWRyb2NrOkdldEFzeW5jSW52b2tlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1Jlc3VsdEFzc2V0c1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lOZXh0U2NlbmFyaW8gPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lOZXh0U2NlbmFyaW9cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0ID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Qmx1ZXByaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCbHVlcHJpbnQgPSBcImJlZHJvY2s6R2V0Qmx1ZXByaW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1cyA9XG5cdFx0XCJiZWRyb2NrOkdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1c1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Qmx1ZXByaW50UmVjb21tZW5kYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJsdWVwcmludFJlY29tbWVuZGF0aW9uID1cblx0XHRcImJlZHJvY2s6R2V0Qmx1ZXByaW50UmVjb21tZW5kYXRpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEN1c3RvbU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDdXN0b21Nb2RlbCA9IFwiYmVkcm9jazpHZXRDdXN0b21Nb2RlbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDdXN0b21Nb2RlbERlcGxveW1lbnQgPVxuXHRcdFwiYmVkcm9jazpHZXRDdXN0b21Nb2RlbERlcGxveW1lbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uTGlicmFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5ID1cblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0eSA9XG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0eVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0ID1cblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhQXV0b21hdGlvblN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25TdGF0dXMgPVxuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvblN0YXR1c1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YVNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YVNvdXJjZSA9IFwiYmVkcm9jazpHZXREYXRhU291cmNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhU291cmNlQXV0aG9yaXphdGlvblVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YVNvdXJjZUF1dGhvcml6YXRpb25VcmwgPVxuXHRcdFwiYmVkcm9jazpHZXREYXRhU291cmNlQXV0aG9yaXphdGlvblVybFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RG9jdW1lbnRDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREb2N1bWVudENvbnRlbnQgPSBcImJlZHJvY2s6R2V0RG9jdW1lbnRDb250ZW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRFdmFsdWF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFdmFsdWF0aW9uSm9iID0gXCJiZWRyb2NrOkdldEV2YWx1YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEV4ZWN1dGlvbkZsb3dTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RXhlY3V0aW9uRmxvd1NuYXBzaG90ID1cblx0XHRcImJlZHJvY2s6R2V0RXhlY3V0aW9uRmxvd1NuYXBzaG90XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRGbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGbG93ID0gXCJiZWRyb2NrOkdldEZsb3dcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEZsb3dBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Rmxvd0FsaWFzID0gXCJiZWRyb2NrOkdldEZsb3dBbGlhc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Rmxvd0V4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Rmxvd0V4ZWN1dGlvbiA9IFwiYmVkcm9jazpHZXRGbG93RXhlY3V0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRGbG93VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Rmxvd1ZlcnNpb24gPSBcImJlZHJvY2s6R2V0Rmxvd1ZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Rm91bmRhdGlvbk1vZGVsID0gXCJiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHkgPVxuXHRcdFwiYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEd1YXJkcmFpbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0R3VhcmRyYWlsID0gXCJiZWRyb2NrOkdldEd1YXJkcmFpbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0SW1wb3J0ZWRNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW1wb3J0ZWRNb2RlbCA9IFwiYmVkcm9jazpHZXRJbXBvcnRlZE1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRJbmZlcmVuY2VQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbmZlcmVuY2VQcm9maWxlID0gXCJiZWRyb2NrOkdldEluZmVyZW5jZVByb2ZpbGVcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEluZ2VzdGVkRG9jdW1lbnRBY2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluZ2VzdGVkRG9jdW1lbnRBY2wgPVxuXHRcdFwiYmVkcm9jazpHZXRJbmdlc3RlZERvY3VtZW50QWNsXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRJbmdlc3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluZ2VzdGlvbkpvYiA9IFwiYmVkcm9jazpHZXRJbmdlc3Rpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEludm9jYXRpb25TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnZvY2F0aW9uU3RlcCA9IFwiYmVkcm9jazpHZXRJbnZvY2F0aW9uU3RlcFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0SW52b2tlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnZva2UgPSBcImJlZHJvY2s6R2V0SW52b2tlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOkdldEtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEtub3dsZWRnZUJhc2VEb2N1bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEtub3dsZWRnZUJhc2VEb2N1bWVudHMgPVxuXHRcdFwiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOkdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxDb3B5Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbENvcHlKb2IgPSBcImJlZHJvY2s6R2V0TW9kZWxDb3B5Sm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxFdmFsdWF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbEV2YWx1YXRpb25Kb2IgPSBcImJlZHJvY2s6R2V0TW9kZWxFdmFsdWF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRNb2RlbEltcG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxJbXBvcnRKb2IgPSBcImJlZHJvY2s6R2V0TW9kZWxJbXBvcnRKb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsSW52b2NhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxJbnZvY2F0aW9uSm9iID0gXCJiZWRyb2NrOkdldE1vZGVsSW52b2NhdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6R2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldFByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvbXB0ID0gXCJiZWRyb2NrOkdldFByb21wdFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0UHJvbXB0Um91dGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9tcHRSb3V0ZXIgPSBcImJlZHJvY2s6R2V0UHJvbXB0Um91dGVyXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgPVxuXHRcdFwiYmVkcm9jazpHZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWN5ID0gXCJiZWRyb2NrOkdldFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXNzaW9uID0gXCJiZWRyb2NrOkdldFNlc3Npb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldFVzZUNhc2VGb3JNb2RlbEFjY2VzcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VXNlQ2FzZUZvck1vZGVsQWNjZXNzID1cblx0XHRcImJlZHJvY2s6R2V0VXNlQ2FzZUZvck1vZGVsQWNjZXNzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyA9XG5cdFx0XCJiZWRyb2NrOkluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZUFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBZ2VudCA9IFwiYmVkcm9jazpJbnZva2VBZ2VudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgPVxuXHRcdFwiYmVkcm9jazpJbnZva2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmMgPVxuXHRcdFwiYmVkcm9jazpJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luY1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZUJsdWVwcmludFJlY29tbWVuZGF0aW9uQXN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJsdWVwcmludFJlY29tbWVuZGF0aW9uQXN5bmMgPVxuXHRcdFwiYmVkcm9jazpJbnZva2VCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbkFzeW5jXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlQnVpbGRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQnVpbGRlciA9IFwiYmVkcm9jazpJbnZva2VCdWlsZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZURhdGFBdXRvbWF0aW9uID0gXCJiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25Bc3luYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRGF0YUF1dG9tYXRpb25Bc3luYyA9XG5cdFx0XCJiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uQXN5bmNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZURhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlRmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRmxvdyA9IFwiYmVkcm9jazpJbnZva2VGbG93XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VHdWFyZHJhaWxDaGVja3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUd1YXJkcmFpbENoZWNrcyA9IFwiYmVkcm9jazpJbnZva2VHdWFyZHJhaWxDaGVja3NcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZUlubGluZUFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VJbmxpbmVBZ2VudCA9IFwiYmVkcm9jazpJbnZva2VJbmxpbmVBZ2VudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsID0gXCJiZWRyb2NrOkludm9rZU1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW0gPVxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlVG9vbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlVG9vbCA9IFwiYmVkcm9jazpJbnZva2VUb29sXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzID1cblx0XHRcImJlZHJvY2s6TGlzdEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFnZW50QWN0aW9uR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRBY3Rpb25Hcm91cHMgPSBcImJlZHJvY2s6TGlzdEFnZW50QWN0aW9uR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWdlbnRBbGlhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRBbGlhc2VzID0gXCJiZWRyb2NrOkxpc3RBZ2VudEFsaWFzZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZ2VudENvbGxhYm9yYXRvcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudENvbGxhYm9yYXRvcnMgPSBcImJlZHJvY2s6TGlzdEFnZW50Q29sbGFib3JhdG9yc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFnZW50S25vd2xlZGdlQmFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEtub3dsZWRnZUJhc2VzID0gXCJiZWRyb2NrOkxpc3RBZ2VudEtub3dsZWRnZUJhc2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWdlbnRWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50VmVyc2lvbnMgPSBcImJlZHJvY2s6TGlzdEFnZW50VmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZ2VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudHMgPSBcImJlZHJvY2s6TGlzdEFnZW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFzeW5jSW52b2tlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzeW5jSW52b2tlcyA9IFwiYmVkcm9jazpMaXN0QXN5bmNJbnZva2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llcyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd3MgPVxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd3NcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZXMgPVxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEJsdWVwcmludHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCbHVlcHJpbnRzID0gXCJiZWRyb2NrOkxpc3RCbHVlcHJpbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbU1vZGVsRGVwbG95bWVudHMgPVxuXHRcdFwiYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEN1c3RvbU1vZGVscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbU1vZGVscyA9IFwiYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvbkxpYnJhcmllcyA9XG5cdFx0XCJiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcmllc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXRpZXMgPVxuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXRpZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9icyA9XG5cdFx0XCJiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25Qcm9qZWN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHMgPVxuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25Qcm9qZWN0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdERhdGFTb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVNvdXJjZXMgPSBcImJlZHJvY2s6TGlzdERhdGFTb3VyY2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwiYmVkcm9jazpMaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEV2YWx1YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXZhbHVhdGlvbkpvYnMgPSBcImJlZHJvY2s6TGlzdEV2YWx1YXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rmxvd0FsaWFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbG93QWxpYXNlcyA9IFwiYmVkcm9jazpMaXN0Rmxvd0FsaWFzZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGbG93RXhlY3V0aW9uRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50cyA9IFwiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZsb3dFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0V4ZWN1dGlvbnMgPSBcImJlZHJvY2s6TGlzdEZsb3dFeGVjdXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rmxvd1ZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd1ZlcnNpb25zID0gXCJiZWRyb2NrOkxpc3RGbG93VmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGbG93cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dzID0gXCJiZWRyb2NrOkxpc3RGbG93c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVycyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRPZmZlcnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGb3VuZGF0aW9uTW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rm91bmRhdGlvbk1vZGVscyA9IFwiYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEd1YXJkcmFpbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHdWFyZHJhaWxzID0gXCJiZWRyb2NrOkxpc3RHdWFyZHJhaWxzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0SW1wb3J0ZWRNb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbXBvcnRlZE1vZGVscyA9IFwiYmVkcm9jazpMaXN0SW1wb3J0ZWRNb2RlbHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RJbmZlcmVuY2VQcm9maWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZVByb2ZpbGVzID0gXCJiZWRyb2NrOkxpc3RJbmZlcmVuY2VQcm9maWxlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEluZ2VzdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmdlc3Rpb25Kb2JzID0gXCJiZWRyb2NrOkxpc3RJbmdlc3Rpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0SW52b2NhdGlvblN0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52b2NhdGlvblN0ZXBzID0gXCJiZWRyb2NrOkxpc3RJbnZvY2F0aW9uU3RlcHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RJbnZvY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludm9jYXRpb25zID0gXCJiZWRyb2NrOkxpc3RJbnZvY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzID1cblx0XHRcImJlZHJvY2s6TGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RLbm93bGVkZ2VCYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtub3dsZWRnZUJhc2VzID0gXCJiZWRyb2NrOkxpc3RLbm93bGVkZ2VCYXNlc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6TGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzID1cblx0XHRcImJlZHJvY2s6TGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RNb2RlbENvcHlKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDb3B5Sm9icyA9IFwiYmVkcm9jazpMaXN0TW9kZWxDb3B5Sm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzID1cblx0XHRcImJlZHJvY2s6TGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RNb2RlbEV2YWx1YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxFdmFsdWF0aW9uSm9icyA9IFwiYmVkcm9jazpMaXN0TW9kZWxFdmFsdWF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdE1vZGVsSW1wb3J0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsSW1wb3J0Sm9icyA9IFwiYmVkcm9jazpMaXN0TW9kZWxJbXBvcnRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0TW9kZWxJbnZvY2F0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsSW52b2NhdGlvbkpvYnMgPSBcImJlZHJvY2s6TGlzdE1vZGVsSW52b2NhdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RQcm9tcHRSb3V0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvbXB0Um91dGVycyA9IFwiYmVkcm9jazpMaXN0UHJvbXB0Um91dGVyc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdFByb21wdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRzID0gXCJiZWRyb2NrOkxpc3RQcm9tcHRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzID1cblx0XHRcImJlZHJvY2s6TGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdFNlc3Npb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2Vzc2lvbnMgPSBcImJlZHJvY2s6TGlzdFNlc3Npb25zXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJiZWRyb2NrOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOk9wdGltaXplUHJvbXB0ICovXG5cdHN0YXRpYyByZWFkb25seSBPcHRpbWl6ZVByb21wdCA9IFwiYmVkcm9jazpPcHRpbWl6ZVByb21wdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlByZXBhcmVBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJlcGFyZUFnZW50ID0gXCJiZWRyb2NrOlByZXBhcmVBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlByZXBhcmVGbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBQcmVwYXJlRmxvdyA9IFwiYmVkcm9jazpQcmVwYXJlRmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dEFjY291bnREYXRhUmV0ZW50aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50RGF0YVJldGVudGlvbiA9IFwiYmVkcm9jazpQdXRBY2NvdW50RGF0YVJldGVudGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dEVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6UHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHV0Rm91bmRhdGlvbk1vZGVsRW50aXRsZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEZvdW5kYXRpb25Nb2RlbEVudGl0bGVtZW50ID1cblx0XHRcImJlZHJvY2s6UHV0Rm91bmRhdGlvbk1vZGVsRW50aXRsZW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRJbnZvY2F0aW9uU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW52b2NhdGlvblN0ZXAgPSBcImJlZHJvY2s6UHV0SW52b2NhdGlvblN0ZXBcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwiYmVkcm9jazpQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwiYmVkcm9jazpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dFVzZUNhc2VGb3JNb2RlbEFjY2VzcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0VXNlQ2FzZUZvck1vZGVsQWNjZXNzID0gXCJiZWRyb2NrOlB1dFVzZUNhc2VGb3JNb2RlbEFjY2Vzc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOlJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpSZW5kZXJQcm9tcHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbmRlclByb21wdCA9IFwiYmVkcm9jazpSZW5kZXJQcm9tcHRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpSZXJhbmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcmFuayA9IFwiYmVkcm9jazpSZXJhbmtcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOlJldHJpZXZlICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZSA9IFwiYmVkcm9jazpSZXRyaWV2ZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlJldHJpZXZlQW5kR2VuZXJhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJpZXZlQW5kR2VuZXJhdGUgPSBcImJlZHJvY2s6UmV0cmlldmVBbmRHZW5lcmF0ZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ID1cblx0XHRcImJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93ID1cblx0XHRcImJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdGFydEZsb3dFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Rmxvd0V4ZWN1dGlvbiA9IFwiYmVkcm9jazpTdGFydEZsb3dFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdGFydEluZ2VzdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmdlc3Rpb25Kb2IgPSBcImJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOlN0b3BBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0b3BFdmFsdWF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRXZhbHVhdGlvbkpvYiA9IFwiYmVkcm9jazpTdG9wRXZhbHVhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0b3BGbG93RXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRmxvd0V4ZWN1dGlvbiA9IFwiYmVkcm9jazpTdG9wRmxvd0V4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0b3BJbmdlc3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BJbmdlc3Rpb25Kb2IgPSBcImJlZHJvY2s6U3RvcEluZ2VzdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpTdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RvcE1vZGVsSW52b2NhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1vZGVsSW52b2NhdGlvbkpvYiA9IFwiYmVkcm9jazpTdG9wTW9kZWxJbnZvY2F0aW9uSm9iXCI7XG5cdC8qKiBbVGFnZ2luZ10gYmVkcm9jazpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImJlZHJvY2s6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBiZWRyb2NrOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImJlZHJvY2s6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudCA9IFwiYmVkcm9jazpVcGRhdGVBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUFnZW50QWN0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50QWN0aW9uR3JvdXAgPSBcImJlZHJvY2s6VXBkYXRlQWdlbnRBY3Rpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUFnZW50QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50QWxpYXMgPSBcImJlZHJvY2s6VXBkYXRlQWdlbnRBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUFnZW50Q29sbGFib3JhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudENvbGxhYm9yYXRvciA9IFwiYmVkcm9jazpVcGRhdGVBZ2VudENvbGxhYm9yYXRvclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOlVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ID1cblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zID1cblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgPVxuXHRcdFwiYmVkcm9jazpVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUJsdWVwcmludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQmx1ZXByaW50ID0gXCJiZWRyb2NrOlVwZGF0ZUJsdWVwcmludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50ID1cblx0XHRcImJlZHJvY2s6VXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgPVxuXHRcdFwiYmVkcm9jazpVcGRhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVEYXRhQXV0b21hdGlvblByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZURhdGFTb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFTb3VyY2UgPSBcImJlZHJvY2s6VXBkYXRlRGF0YVNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUZsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZsb3cgPSBcImJlZHJvY2s6VXBkYXRlRmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUZsb3dBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmxvd0FsaWFzID0gXCJiZWRyb2NrOlVwZGF0ZUZsb3dBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUd1YXJkcmFpbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlR3VhcmRyYWlsID0gXCJiZWRyb2NrOlVwZGF0ZUd1YXJkcmFpbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUtub3dsZWRnZUJhc2UgPSBcImJlZHJvY2s6VXBkYXRlS25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ID1cblx0XHRcImJlZHJvY2s6VXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlUHJvbXB0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9tcHQgPSBcImJlZHJvY2s6VXBkYXRlUHJvbXB0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ID1cblx0XHRcImJlZHJvY2s6VXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXNzaW9uID0gXCJiZWRyb2NrOlVwZGF0ZVNlc3Npb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOlZhbGlkYXRlRmxvd0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlRmxvd0RlZmluaXRpb24gPSBcImJlZHJvY2s6VmFsaWRhdGVGbG93RGVmaW5pdGlvblwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBY3Rpb25zLkFnZW50aWNSZXRyaWV2ZVN0cmVhbSxcblx0XHRCZWRyb2NrQWN0aW9ucy5BcHBseUd1YXJkcmFpbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DYWxsV2l0aEJlYXJlclRva2VuLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNoZWNrSW5nZXN0ZWREb2N1bWVudEFjbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5Db3VudFRva2Vucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZXRlY3RHZW5lcmF0ZWRDb250ZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuR2VuZXJhdGVRdWVyeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBY2NvdW50RGF0YVJldGVudGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudEFjdGlvbkdyb3VwLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRDb2xsYWJvcmF0b3IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50TWVtb3J5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBc3luY0ludm9rZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpbyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEJsdWVwcmludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Qmx1ZXByaW50UmVjb21tZW5kYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Q3VzdG9tTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERhdGFBdXRvbWF0aW9uTGlicmFyeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERhdGFBdXRvbWF0aW9uUHJvamVjdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhQXV0b21hdGlvblN0YXR1cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhU291cmNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERhdGFTb3VyY2VBdXRob3JpemF0aW9uVXJsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERvY3VtZW50Q29udGVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRFdmFsdWF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEV4ZWN1dGlvbkZsb3dTbmFwc2hvdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEZsb3dBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGbG93RXhlY3V0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEZsb3dWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEZvdW5kYXRpb25Nb2RlbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0R3VhcmRyYWlsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEltcG9ydGVkTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW5mZXJlbmNlUHJvZmlsZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbmdlc3RlZERvY3VtZW50QWNsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEluZ2VzdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbnZvY2F0aW9uU3RlcCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbnZva2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0S25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNb2RlbENvcHlKb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxDdXN0b21pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1vZGVsRXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNb2RlbEltcG9ydEpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNb2RlbEludm9jYXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0UHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldFByb21wdFJvdXRlcixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVBvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRTZXNzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldFVzZUNhc2VGb3JNb2RlbEFjY2Vzcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VBZ2VudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlRmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VHdWFyZHJhaWxDaGVja3MsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlSW5saW5lQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW0sXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlVG9vbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLk9wdGltaXplUHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlJlbmRlclByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5SZXRyaWV2ZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5WYWxpZGF0ZUZsb3dEZWZpbml0aW9uLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBY3Rpb25zLkFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5Bc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5CYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNhbmNlbEludm9rZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5Db3B5Qmx1ZXByaW50U3RhZ2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVBZ2VudEFsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUJsdWVwcmludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVCbHVlcHJpbnRWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUN1c3RvbU1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZURhdGFTb3VyY2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRGF0YVNvdXJjZVRva2VuLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVGbG93QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRmxvd1ZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUd1YXJkcmFpbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVHdWFyZHJhaWxWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUluZmVyZW5jZVByb2ZpbGUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlSW52b2NhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNb2RlbENvcHlKb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZU1vZGVsRXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNb2RlbEltcG9ydEpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNb2RlbEludm9jYXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlUHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZVByb21wdFJvdXRlcixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVQcm9tcHRWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZVNlc3Npb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQWdlbnRBY3Rpb25Hcm91cCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBZ2VudEFsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUFnZW50TWVtb3J5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUFnZW50VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVCbHVlcHJpbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQ3VzdG9tTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVEYXRhQXV0b21hdGlvblByb2plY3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRGF0YVNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVGbG93QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRmxvd1ZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUd1YXJkcmFpbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVJbXBvcnRlZE1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUluZmVyZW5jZVByb2ZpbGUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlSW52b2tlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVNYXJrZXRwbGFjZU1vZGVsQWdyZWVtZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVQcm9tcHQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlUHJvbXB0Um91dGVyLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZVJlc291cmNlUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZVNlc3Npb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvcixcblx0XHRCZWRyb2NrQWN0aW9ucy5EaXNhc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRW5kU2Vzc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5Jbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUJsdWVwcmludFJlY29tbWVuZGF0aW9uQXN5bmMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlQnVpbGRlcixcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VEYXRhQXV0b21hdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZURhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5QcmVwYXJlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHJlcGFyZUZsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHV0QWNjb3VudERhdGFSZXRlbnRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dEZvdW5kYXRpb25Nb2RlbEVudGl0bGVtZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dEludm9jYXRpb25TdGVwLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dFVzZUNhc2VGb3JNb2RlbEFjY2Vzcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5SZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5SZXJhbmssXG5cdFx0QmVkcm9ja0FjdGlvbnMuUmV0cmlldmVBbmRHZW5lcmF0ZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5TdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RhcnRGbG93RXhlY3V0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0YXJ0SW5nZXN0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0b3BBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wRXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wRmxvd0V4ZWN1dGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wSW5nZXN0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RvcE1vZGVsSW52b2NhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBZ2VudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBZ2VudEFjdGlvbkdyb3VwLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUFnZW50QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQWdlbnRLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVCbHVlcHJpbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVEYXRhQXV0b21hdGlvblByb2plY3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlRGF0YVNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVGbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUZsb3dBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVHdWFyZHJhaWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlS25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlUHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZVNlc3Npb24sXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50QWN0aW9uR3JvdXBzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZ2VudEFsaWFzZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50Q29sbGFib3JhdG9ycyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRWZXJzaW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBc3luY0ludm9rZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Qmx1ZXByaW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Q3VzdG9tTW9kZWxzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcmllcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXRpZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdERhdGFTb3VyY2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RFdmFsdWF0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Rmxvd0FsaWFzZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZsb3dFeGVjdXRpb25FdmVudHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZsb3dFeGVjdXRpb25zLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGbG93VmVyc2lvbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZsb3dzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRPZmZlcnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZvdW5kYXRpb25Nb2RlbHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEd1YXJkcmFpbHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEltcG9ydGVkTW9kZWxzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RJbmZlcmVuY2VQcm9maWxlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0SW5nZXN0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0SW52b2NhdGlvblN0ZXBzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RJbnZvY2F0aW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0S25vd2xlZGdlQmFzZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsQ29weUpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsRXZhbHVhdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsSW1wb3J0Sm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0TW9kZWxJbnZvY2F0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0UHJvbXB0Um91dGVycyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0UHJvbXB0cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RTZXNzaW9ucyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmVkcm9ja0FjdGlvbnMuQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFnZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFnZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2VudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhZ2VudC1hbGlhcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50QWxpYXNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50QWxpYXNJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRBbGlhc0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWdlbnQtYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudEFsaWFzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2VudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWdlbnRJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50QWxpYXNJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50QWxpYXNJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXN5bmMtaW52b2tlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXN5bmNJbnZva2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFzeW5jLWludm9rZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FzeW5jSW52b2tlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBiZWRyb2NrLW1hcmtldHBsYWNlLW1vZGVsLWVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBiZWRyb2NrLW1hcmtldHBsYWNlLW1vZGVsLWVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBibHVlcHJpbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tCbHVlcHJpbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQmx1ZXByaW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJsdWVwcmludElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYmx1ZXByaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmx1ZXByaW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCbHVlcHJpbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGJsdWVwcmludElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY3VzdG9tLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQ3VzdG9tTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGN1c3RvbS1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0N1c3RvbU1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY3VzdG9tLW1vZGVsLWRlcGxveW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGN1c3RvbS1tb2RlbC1kZXBsb3ltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhdGFBdXRvbWF0aW9uTGlicmFyeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERhdGFBdXRvbWF0aW9uTGlicmFyeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW5nZXN0aW9uSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluZ2VzdGlvbkpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW5nZXN0aW9uSm9iSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbmdlc3Rpb25Kb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvZmlsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9maWxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhLWF1dG9tYXRpb24tcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvZmlsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvZmlsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvamVjdEFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9qZWN0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2plY3RJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtYXV0b21hdGlvbi1wcm9qZWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9qZWN0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9qZWN0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRlZmF1bHQtcHJvbXB0LXJvdXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RlZmF1bHRQcm9tcHRSb3V0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRlZmF1bHQtcHJvbXB0LXJvdXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RlZmF1bHRQcm9tcHRSb3V0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBldmFsdWF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0V2YWx1YXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV2YWx1YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRXZhbHVhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZsb3cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93QXJuUHJvcHMge1xuXHQvKiogVGhlIEZsb3dJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmxvdyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0Zsb3dBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZmxvdy1hbGlhcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0Zsb3dBbGlhc0FyblByb3BzIHtcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dBbGlhc0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93QWxpYXNJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZsb3ctYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93QWxpYXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dBbGlhc0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0FsaWFzSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZsb3ctZXhlY3V0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRmxvd0V4ZWN1dGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dBbGlhc0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93QWxpYXNJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dFeGVjdXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0V4ZWN1dGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmxvdy1leGVjdXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93RXhlY3V0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93SWQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93QWxpYXNJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dBbGlhc0lkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0V4ZWN1dGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0V4ZWN1dGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmb3VuZGF0aW9uLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRm91bmRhdGlvbk1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBmb3VuZGF0aW9uLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRm91bmRhdGlvbk1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZ3VhcmRyYWlsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrR3VhcmRyYWlsQXJuUHJvcHMge1xuXHQvKiogVGhlIEd1YXJkcmFpbElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBndWFyZHJhaWxJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGd1YXJkcmFpbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0d1YXJkcmFpbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgR3VhcmRyYWlsSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBndWFyZHJhaWxJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZ3VhcmRyYWlsLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tHdWFyZHJhaWxQcm9maWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBndWFyZHJhaWwtcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0d1YXJkcmFpbFByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbXBvcnRlZC1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0ltcG9ydGVkTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGltcG9ydGVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrSW1wb3J0ZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGluZmVyZW5jZS1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrSW5mZXJlbmNlUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW5mZXJlbmNlLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tJbmZlcmVuY2VQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEga25vd2xlZGdlLWJhc2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tLbm93bGVkZ2VCYXNlQXJuUHJvcHMge1xuXHQvKiogVGhlIEtub3dsZWRnZUJhc2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkga25vd2xlZGdlQmFzZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEga25vd2xlZGdlLWJhc2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tLbm93bGVkZ2VCYXNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBLbm93bGVkZ2VCYXNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBrbm93bGVkZ2VCYXNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWNvcHktam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxDb3B5Sm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1jb3B5LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsQ29weUpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWN1c3RvbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsQ3VzdG9taXphdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWV2YWx1YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxFdmFsdWF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1ldmFsdWF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsRXZhbHVhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWltcG9ydC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEltcG9ydEpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtaW1wb3J0LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsSW1wb3J0Sm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtaW52b2NhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEludm9jYXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iSWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWludm9jYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxJbnZvY2F0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb2plY3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvbXB0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvbXB0QXJuUHJvcHMge1xuXHQvKiogVGhlIFByb21wdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9tcHRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb21wdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvbXB0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9tcHRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvbXB0LXJvdXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdFJvdXRlckFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvbXB0LXJvdXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdFJvdXRlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb21wdC12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvbXB0VmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9tcHRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvbXB0SWQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9tcHRWZXJzaW9uIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9tcHRWZXJzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvbXB0LXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9tcHRWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9tcHRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb21wdElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvbXB0VmVyc2lvbiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb21wdFZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb3Zpc2lvbmVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvdmlzaW9uZWRNb2RlbEFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvdmlzaW9uZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm92aXNpb25lZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2Vzc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Nlc3Npb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2Vzc2lvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXNzaW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXNzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrU2Vzc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2Vzc2lvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2Vzc2lvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzeXN0ZW0tdG9vbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1N5c3RlbVRvb2xBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc3lzdGVtLXRvb2wgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tTeXN0ZW1Ub29sQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuY29uc3QgQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgQWdlbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50XFwvKD88YWdlbnRJZD5bXjovP10rKSQvO1xuY29uc3QgQWdlbnRBbGlhc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWdlbnQtYWxpYXNcXC8oPzxhZ2VudElkPlteOi8/XSspXFwvKD88YWdlbnRBbGlhc0lkPlteOi8/XSspJC87XG5jb25zdCBBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgQXN5bmNJbnZva2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFzeW5jLWludm9rZVxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3lcXC8oPzxhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZD5bXjovP10rKSQvO1xuY29uc3QgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3lcXC8oPzxhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZD5bXjovP10rKTooPzxhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uPlteOi8/XSspJC87XG5jb25zdCBCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptYXJrZXRwbGFjZVxcL21vZGVsLWVuZHBvaW50XFwvYWxsLWFjY2VzcyQvO1xuY29uc3QgQmx1ZXByaW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpibHVlcHJpbnRcXC8oPzxibHVlcHJpbnRJZD5bXjovP10rKSQvO1xuY29uc3QgQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Ymx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgQ3VzdG9tTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmN1c3RvbS1tb2RlbFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEN1c3RvbU1vZGVsRGVwbG95bWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y3VzdG9tLW1vZGVsLWRlcGxveW1lbnRcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFBdXRvbWF0aW9uTGlicmFyeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnlcXC8oPzxkYXRhQXV0b21hdGlvbkxpYnJhcnlJZD5bXjovP10rKSQvO1xuY29uc3QgRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iXFwvKD88aW5nZXN0aW9uSm9iSWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFBdXRvbWF0aW9uUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGVcXC8oPzxwcm9maWxlSWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFBdXRvbWF0aW9uUHJvamVjdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1hdXRvbWF0aW9uLXByb2plY3RcXC8oPzxwcm9qZWN0SWQ+W146Lz9dKykkLztcbmNvbnN0IERlZmF1bHRQcm9tcHRSb3V0ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRlZmF1bHQtcHJvbXB0LXJvdXRlclxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEV2YWx1YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV2YWx1YXRpb24tam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgRmxvd0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmxvd1xcLyg/PGZsb3dJZD5bXjovP10rKSQvO1xuY29uc3QgRmxvd0FsaWFzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpmbG93XFwvKD88Zmxvd0lkPlteOi8/XSspXFwvYWxpYXNcXC8oPzxmbG93QWxpYXNJZD5bXjovP10rKSQvO1xuY29uc3QgRmxvd0V4ZWN1dGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmxvd1xcLyg/PGZsb3dJZD5bXjovP10rKVxcL2FsaWFzXFwvKD88Zmxvd0FsaWFzSWQ+W146Lz9dKylcXC9leGVjdXRpb25cXC8oPzxmbG93RXhlY3V0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IEZvdW5kYXRpb25Nb2RlbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6OmZvdW5kYXRpb24tbW9kZWxcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBHdWFyZHJhaWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmd1YXJkcmFpbFxcLyg/PGd1YXJkcmFpbElkPlteOi8/XSspJC87XG5jb25zdCBHdWFyZHJhaWxQcm9maWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpndWFyZHJhaWwtcHJvZmlsZVxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEltcG9ydGVkTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmltcG9ydGVkLW1vZGVsXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgSW5mZXJlbmNlUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5mZXJlbmNlLXByb2ZpbGVcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBLbm93bGVkZ2VCYXNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTprbm93bGVkZ2UtYmFzZVxcLyg/PGtub3dsZWRnZUJhc2VJZD5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxDb3B5Sm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1jb3B5LWpvYlxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQ3VzdG9taXphdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtY3VzdG9taXphdGlvbi1qb2JcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEV2YWx1YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWV2YWx1YXRpb24tam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxJbXBvcnRKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWltcG9ydC1qb2JcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEludm9jYXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWludm9jYXRpb24tam9iXFwvKD88am9iSWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgUHJvamVjdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvamVjdFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFByb21wdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvbXB0XFwvKD88cHJvbXB0SWQ+W146Lz9dKykkLztcbmNvbnN0IFByb21wdFJvdXRlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvbXB0LXJvdXRlclxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFByb21wdFZlcnNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb21wdFxcLyg/PHByb21wdElkPlteOi8/XSspOig/PHByb21wdFZlcnNpb24+W146Lz9dKykkLztcbmNvbnN0IFByb3Zpc2lvbmVkTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb3Zpc2lvbmVkLW1vZGVsXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgU2Vzc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2Vzc2lvblxcLyg/PHNlc3Npb25JZD5bXjovP10rKSQvO1xuY29uc3QgU3lzdGVtVG9vbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOjooPzxhY2NvdW50PlteOl0qKTpzeXN0ZW0tdG9vbFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBiZWRyb2NrIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEJlZHJvY2tSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iKFxuXHRcdHByb3BzOiBCZWRyb2NrQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhZ2VudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZ2VudChwcm9wczogQmVkcm9ja0FnZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWdlbnQvJHtwcm9wcy5hZ2VudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhZ2VudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWdlbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWdlbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWdlbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWdlbnRBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQWdlbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFnZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFnZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50SWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhZ2VudC1hbGlhcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZ2VudEFsaWFzKHByb3BzOiBCZWRyb2NrQWdlbnRBbGlhc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFnZW50LWFsaWFzLyR7cHJvcHMuYWdlbnRJZH0vJHtwcm9wcy5hZ2VudEFsaWFzSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFnZW50LWFsaWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBZ2VudEFsaWFzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFnZW50QWxpYXNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWdlbnQtYWxpYXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWdlbnRBbGlhc0Fybihhcm46IHN0cmluZyk6IEJlZHJvY2tBZ2VudEFsaWFzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZ2VudEFsaWFzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFnZW50LWFsaWFzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50SWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRJZCxcblx0XHRcdGFnZW50QWxpYXNJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudEFsaWFzSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlKFxuXHRcdHByb3BzOiBCZWRyb2NrQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhc3luYy1pbnZva2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXN5bmNJbnZva2UocHJvcHM6IEJlZHJvY2tBc3luY0ludm9rZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFzeW5jLWludm9rZS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFzeW5jLWludm9rZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXN5bmNJbnZva2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXN5bmNJbnZva2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXN5bmMtaW52b2tlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFzeW5jSW52b2tlQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0FzeW5jSW52b2tlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBc3luY0ludm9rZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhc3luYy1pbnZva2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeShcblx0XHRwcm9wczogQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kvJHtwcm9wcy5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ6IG1hdGNoLmdyb3VwcyEuYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uKFxuXHRcdHByb3BzOiBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kvJHtwcm9wcy5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZH06JHtwcm9wcy5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9ufWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkOiBtYXRjaC5ncm91cHMhLmF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkLFxuXHRcdFx0YXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbjpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJlZHJvY2stbWFya2V0cGxhY2UtbW9kZWwtZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludChcblx0XHRwcm9wczogQmVkcm9ja0JlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1hcmtldHBsYWNlL21vZGVsLWVuZHBvaW50L2FsbC1hY2Nlc3NgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYmVkcm9jay1tYXJrZXRwbGFjZS1tb2RlbC1lbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGJlZHJvY2stbWFya2V0cGxhY2UtbW9kZWwtZW5kcG9pbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0JlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYmVkcm9jay1tYXJrZXRwbGFjZS1tb2RlbC1lbmRwb2ludCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYmx1ZXByaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJsdWVwcmludChwcm9wczogQmVkcm9ja0JsdWVwcmludEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmJsdWVwcmludC8ke3Byb3BzLmJsdWVwcmludElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBibHVlcHJpbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJsdWVwcmludEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCbHVlcHJpbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYmx1ZXByaW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJsdWVwcmludEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tCbHVlcHJpbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJsdWVwcmludEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBibHVlcHJpbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Ymx1ZXByaW50SWQ6IG1hdGNoLmdyb3VwcyEuYmx1ZXByaW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb24oXG5cdFx0cHJvcHM6IEJlZHJvY2tCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24vJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0JsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjdXN0b20tbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY3VzdG9tTW9kZWwocHJvcHM6IEJlZHJvY2tDdXN0b21Nb2RlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmN1c3RvbS1tb2RlbC8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGN1c3RvbS1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ3VzdG9tTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ3VzdG9tTW9kZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY3VzdG9tLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUN1c3RvbU1vZGVsQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0N1c3RvbU1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDdXN0b21Nb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjdXN0b20tbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGN1c3RvbS1tb2RlbC1kZXBsb3ltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGN1c3RvbU1vZGVsRGVwbG95bWVudChcblx0XHRwcm9wczogQmVkcm9ja0N1c3RvbU1vZGVsRGVwbG95bWVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y3VzdG9tLW1vZGVsLWRlcGxveW1lbnQvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjdXN0b20tbW9kZWwtZGVwbG95bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEN1c3RvbU1vZGVsRGVwbG95bWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjdXN0b20tbW9kZWwtZGVwbG95bWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDdXN0b21Nb2RlbERlcGxveW1lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEN1c3RvbU1vZGVsRGVwbG95bWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjdXN0b20tbW9kZWwtZGVwbG95bWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYihcblx0XHRwcm9wczogQmVkcm9ja0RhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24vJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWQ6IG1hdGNoLmdyb3VwcyEuam9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YUF1dG9tYXRpb25MaWJyYXJ5KFxuXHRcdHByb3BzOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLWF1dG9tYXRpb24tbGlicmFyeS8ke3Byb3BzLmRhdGFBdXRvbWF0aW9uTGlicmFyeUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFBdXRvbWF0aW9uTGlicmFyeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFBdXRvbWF0aW9uTGlicmFyeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhLWF1dG9tYXRpb24tbGlicmFyeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkYXRhQXV0b21hdGlvbkxpYnJhcnlJZDogbWF0Y2guZ3JvdXBzIS5kYXRhQXV0b21hdGlvbkxpYnJhcnlJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYihcblx0XHRwcm9wczogQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYi8ke3Byb3BzLmluZ2VzdGlvbkpvYklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBJbnZhbGlkIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW5nZXN0aW9uSm9iSWQ6IG1hdGNoLmdyb3VwcyEuaW5nZXN0aW9uSm9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YUF1dG9tYXRpb25Qcm9maWxlKFxuXHRcdHByb3BzOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLWF1dG9tYXRpb24tcHJvZmlsZS8ke3Byb3BzLnByb2ZpbGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFBdXRvbWF0aW9uUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvZmlsZUlkOiBtYXRjaC5ncm91cHMhLnByb2ZpbGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYXRhQXV0b21hdGlvblByb2plY3QoXG5cdFx0cHJvcHM6IEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2plY3RBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtYXV0b21hdGlvbi1wcm9qZWN0LyR7cHJvcHMucHJvamVjdElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFBdXRvbWF0aW9uUHJvamVjdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhQXV0b21hdGlvblByb2plY3RBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2plY3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFBdXRvbWF0aW9uUHJvamVjdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9qZWN0SWQ6IG1hdGNoLmdyb3VwcyEucHJvamVjdElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRlZmF1bHQtcHJvbXB0LXJvdXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkZWZhdWx0UHJvbXB0Um91dGVyKFxuXHRcdHByb3BzOiBCZWRyb2NrRGVmYXVsdFByb21wdFJvdXRlckFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGVmYXVsdC1wcm9tcHQtcm91dGVyLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGVmYXVsdC1wcm9tcHQtcm91dGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREZWZhdWx0UHJvbXB0Um91dGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERlZmF1bHRQcm9tcHRSb3V0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGVmYXVsdC1wcm9tcHQtcm91dGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURlZmF1bHRQcm9tcHRSb3V0ZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEZWZhdWx0UHJvbXB0Um91dGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEZWZhdWx0UHJvbXB0Um91dGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRlZmF1bHQtcHJvbXB0LXJvdXRlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXZhbHVhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXZhbHVhdGlvbkpvYihwcm9wczogQmVkcm9ja0V2YWx1YXRpb25Kb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpldmFsdWF0aW9uLWpvYi8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV2YWx1YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFdmFsdWF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV2YWx1YXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXZhbHVhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXZhbHVhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tFdmFsdWF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFdmFsdWF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV2YWx1YXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmbG93IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZsb3cocHJvcHM6IEJlZHJvY2tGbG93QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Zmxvdy8ke3Byb3BzLmZsb3dJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZmxvdyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmxvd0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGbG93QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZsb3cgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmxvd0Fybihhcm46IHN0cmluZyk6IEJlZHJvY2tGbG93QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGbG93QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZsb3cgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Zmxvd0lkOiBtYXRjaC5ncm91cHMhLmZsb3dJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmbG93LWFsaWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZsb3dBbGlhcyhwcm9wczogQmVkcm9ja0Zsb3dBbGlhc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZsb3cvJHtwcm9wcy5mbG93SWR9L2FsaWFzLyR7cHJvcHMuZmxvd0FsaWFzSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZsb3ctYWxpYXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZsb3dBbGlhc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGbG93QWxpYXNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmxvdy1hbGlhcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGbG93QWxpYXNBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrRmxvd0FsaWFzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGbG93QWxpYXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmxvdy1hbGlhcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRmbG93SWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0lkLFxuXHRcdFx0Zmxvd0FsaWFzSWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0FsaWFzSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmxvdy1leGVjdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZmxvd0V4ZWN1dGlvbihwcm9wczogQmVkcm9ja0Zsb3dFeGVjdXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpmbG93LyR7cHJvcHMuZmxvd0lkfS9hbGlhcy8ke3Byb3BzLmZsb3dBbGlhc0lkfS9leGVjdXRpb24vJHtwcm9wcy5mbG93RXhlY3V0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZsb3ctZXhlY3V0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGbG93RXhlY3V0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZsb3dFeGVjdXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmxvdy1leGVjdXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmxvd0V4ZWN1dGlvbkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tGbG93RXhlY3V0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGbG93RXhlY3V0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZsb3ctZXhlY3V0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZsb3dJZDogbWF0Y2guZ3JvdXBzIS5mbG93SWQsXG5cdFx0XHRmbG93QWxpYXNJZDogbWF0Y2guZ3JvdXBzIS5mbG93QWxpYXNJZCxcblx0XHRcdGZsb3dFeGVjdXRpb25JZDogbWF0Y2guZ3JvdXBzIS5mbG93RXhlY3V0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZm91bmRhdGlvbi1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmb3VuZGF0aW9uTW9kZWwocHJvcHM6IEJlZHJvY2tGb3VuZGF0aW9uTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmZvdW5kYXRpb24tbW9kZWwvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmb3VuZGF0aW9uLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGb3VuZGF0aW9uTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRm91bmRhdGlvbk1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZvdW5kYXRpb24tbW9kZWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRm91bmRhdGlvbk1vZGVsQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRm91bmRhdGlvbk1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGb3VuZGF0aW9uTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZm91bmRhdGlvbi1tb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZ3VhcmRyYWlsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGd1YXJkcmFpbChwcm9wczogQmVkcm9ja0d1YXJkcmFpbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omd1YXJkcmFpbC8ke3Byb3BzLmd1YXJkcmFpbElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBndWFyZHJhaWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEd1YXJkcmFpbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBHdWFyZHJhaWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZ3VhcmRyYWlsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUd1YXJkcmFpbEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tHdWFyZHJhaWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEd1YXJkcmFpbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBndWFyZHJhaWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Z3VhcmRyYWlsSWQ6IG1hdGNoLmdyb3VwcyEuZ3VhcmRyYWlsSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZ3VhcmRyYWlsLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZ3VhcmRyYWlsUHJvZmlsZShwcm9wczogQmVkcm9ja0d1YXJkcmFpbFByb2ZpbGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpndWFyZHJhaWwtcHJvZmlsZS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGd1YXJkcmFpbC1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRHdWFyZHJhaWxQcm9maWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEd1YXJkcmFpbFByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZ3VhcmRyYWlsLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlR3VhcmRyYWlsUHJvZmlsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0d1YXJkcmFpbFByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEd1YXJkcmFpbFByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZ3VhcmRyYWlsLXByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGltcG9ydGVkLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGltcG9ydGVkTW9kZWwocHJvcHM6IEJlZHJvY2tJbXBvcnRlZE1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW1wb3J0ZWQtbW9kZWwvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbXBvcnRlZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW1wb3J0ZWRNb2RlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbXBvcnRlZE1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGltcG9ydGVkLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUltcG9ydGVkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrSW1wb3J0ZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW1wb3J0ZWRNb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbXBvcnRlZC1tb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW5mZXJlbmNlLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlUHJvZmlsZShwcm9wczogQmVkcm9ja0luZmVyZW5jZVByb2ZpbGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbmZlcmVuY2UtcHJvZmlsZS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbmZlcmVuY2VQcm9maWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluZmVyZW5jZVByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW5mZXJlbmNlLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW5mZXJlbmNlUHJvZmlsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0luZmVyZW5jZVByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluZmVyZW5jZVByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5mZXJlbmNlLXByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGtub3dsZWRnZS1iYXNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGtub3dsZWRnZUJhc2UocHJvcHM6IEJlZHJvY2tLbm93bGVkZ2VCYXNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06a25vd2xlZGdlLWJhc2UvJHtwcm9wcy5rbm93bGVkZ2VCYXNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGtub3dsZWRnZS1iYXNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRLbm93bGVkZ2VCYXNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEtub3dsZWRnZUJhc2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEga25vd2xlZGdlLWJhc2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlS25vd2xlZGdlQmFzZUFybihhcm46IHN0cmluZyk6IEJlZHJvY2tLbm93bGVkZ2VCYXNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBLbm93bGVkZ2VCYXNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGtub3dsZWRnZS1iYXNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGtub3dsZWRnZUJhc2VJZDogbWF0Y2guZ3JvdXBzIS5rbm93bGVkZ2VCYXNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtY29weS1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxDb3B5Sm9iKHByb3BzOiBCZWRyb2NrTW9kZWxDb3B5Sm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtY29weS1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1jb3B5LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxDb3B5Sm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQ29weUpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1jb3B5LWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbENvcHlKb2JBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrTW9kZWxDb3B5Sm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbENvcHlKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtY29weS1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWN1c3RvbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQ3VzdG9taXphdGlvbkpvYihcblx0XHRwcm9wczogQmVkcm9ja01vZGVsQ3VzdG9taXphdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtY3VzdG9taXphdGlvbi1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQ3VzdG9taXphdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQ3VzdG9taXphdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtZXZhbHVhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxFdmFsdWF0aW9uSm9iKHByb3BzOiBCZWRyb2NrTW9kZWxFdmFsdWF0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtZXZhbHVhdGlvbi1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1ldmFsdWF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxFdmFsdWF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsRXZhbHVhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1ldmFsdWF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEV2YWx1YXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tNb2RlbEV2YWx1YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsRXZhbHVhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1ldmFsdWF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtaW1wb3J0LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEltcG9ydEpvYihwcm9wczogQmVkcm9ja01vZGVsSW1wb3J0Sm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtaW1wb3J0LWpvYi8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWltcG9ydC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsSW1wb3J0Sm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsSW1wb3J0Sm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWltcG9ydC1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxJbXBvcnRKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tNb2RlbEltcG9ydEpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxJbXBvcnRKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtaW1wb3J0LWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtaW52b2NhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxJbnZvY2F0aW9uSm9iKHByb3BzOiBCZWRyb2NrTW9kZWxJbnZvY2F0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtaW52b2NhdGlvbi1qb2IvJHtwcm9wcy5qb2JJZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1pbnZvY2F0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxJbnZvY2F0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsSW52b2NhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1pbnZvY2F0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEludm9jYXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tNb2RlbEludm9jYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsSW52b2NhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1pbnZvY2F0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmpvYklkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9qZWN0KHByb3BzOiBCZWRyb2NrUHJvamVjdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb2plY3QvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9qZWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9qZWN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb2plY3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvamVjdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9qZWN0QXJuKGFybjogc3RyaW5nKTogQmVkcm9ja1Byb2plY3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb2plY3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvamVjdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvbXB0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb21wdChwcm9wczogQmVkcm9ja1Byb21wdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb21wdC8ke3Byb3BzLnByb21wdElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9tcHQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb21wdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9tcHRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvbXB0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb21wdEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tQcm9tcHRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb21wdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9tcHQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvbXB0SWQ6IG1hdGNoLmdyb3VwcyEucHJvbXB0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvbXB0LXJvdXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHRSb3V0ZXIocHJvcHM6IEJlZHJvY2tQcm9tcHRSb3V0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9tcHQtcm91dGVyLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvbXB0LXJvdXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvbXB0Um91dGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb21wdFJvdXRlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcm9tcHQtcm91dGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb21wdFJvdXRlckFybihhcm46IHN0cmluZyk6IEJlZHJvY2tQcm9tcHRSb3V0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb21wdFJvdXRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9tcHQtcm91dGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm9tcHQtdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHRWZXJzaW9uKHByb3BzOiBCZWRyb2NrUHJvbXB0VmVyc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb21wdC8ke3Byb3BzLnByb21wdElkfToke3Byb3BzLnByb21wdFZlcnNpb259YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb21wdC12ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9tcHRWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb21wdFZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvbXB0LXZlcnNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvbXB0VmVyc2lvbkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tQcm9tcHRWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9tcHRWZXJzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb21wdC12ZXJzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb21wdElkOiBtYXRjaC5ncm91cHMhLnByb21wdElkLFxuXHRcdFx0cHJvbXB0VmVyc2lvbjogbWF0Y2guZ3JvdXBzIS5wcm9tcHRWZXJzaW9uLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb3Zpc2lvbmVkLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb3Zpc2lvbmVkTW9kZWwocHJvcHM6IEJlZHJvY2tQcm92aXNpb25lZE1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvdmlzaW9uZWQtbW9kZWwvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm92aXNpb25lZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvdmlzaW9uZWRNb2RlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm92aXNpb25lZE1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb3Zpc2lvbmVkLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb3Zpc2lvbmVkTW9kZWxBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tQcm92aXNpb25lZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm92aXNpb25lZE1vZGVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb3Zpc2lvbmVkLW1vZGVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXNzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlc3Npb24ocHJvcHM6IEJlZHJvY2tTZXNzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2Vzc2lvbi8ke3Byb3BzLnNlc3Npb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2Vzc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2Vzc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXNzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlc3Npb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2Vzc2lvbkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tTZXNzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXNzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlc3Npb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2Vzc2lvbklkOiBtYXRjaC5ncm91cHMhLnNlc3Npb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzeXN0ZW0tdG9vbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzeXN0ZW1Ub29sKHByb3BzOiBCZWRyb2NrU3lzdGVtVG9vbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnN5c3RlbS10b29sLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc3lzdGVtLXRvb2wgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFN5c3RlbVRvb2xBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3lzdGVtVG9vbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzeXN0ZW0tdG9vbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTeXN0ZW1Ub29sQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja1N5c3RlbVRvb2xBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFN5c3RlbVRvb2xBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3lzdGVtLXRvb2wgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGJlZHJvY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFnZW50aWNSZXRyaWV2ZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFnZW50aWNSZXRyaWV2ZVN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFnZW50aWNSZXRyaWV2ZVN0cmVhbVwiLFxuXHRcdFwiYmVkcm9jazpSZXRyaWV2ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBcHBseUd1YXJkcmFpbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFwcGx5R3VhcmRyYWlsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2wgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2w6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29udmVyc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb252ZXJzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFwcGx5R3VhcmRyYWlsXCIsXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxcIixcblx0XHRcImJlZHJvY2s6SW52b2tlVG9vbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb252ZXJzZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbnZlcnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbVwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VUb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvcHlCbHVlcHJpbnRTdGFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlCbHVlcHJpbnRTdGFnZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkNvcHlCbHVlcHJpbnRTdGFnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ291bnRUb2tlbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb3VudFRva2Vuczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q291bnRUb2tlbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUFnZW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFsaWFzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlQWdlbnRBbGlhc1wiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvblwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCbHVlcHJpbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCbHVlcHJpbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVCbHVlcHJpbnRcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQmx1ZXByaW50VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJsdWVwcmludFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVCbHVlcHJpbnRWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUN1c3RvbU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYXRhU291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkNyZWF0ZURhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmFsdWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVFdmFsdWF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVGbG93XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRmxvd0FsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlRmxvd0FsaWFzXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUZsb3dWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd1ZlcnNpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpDcmVhdGVGbG93VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlR3VhcmRyYWlsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3VhcmRyYWlsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUd1YXJkcmFpbFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZVByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUluZmVyZW5jZVByb2ZpbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW52b2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludm9jYXRpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpDcmVhdGVJbnZvY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlS25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUtub3dsZWRnZUJhc2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQ29weUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ29weUpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxDb3B5Sm9iXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxJbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEltcG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxJbXBvcnRKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbEludm9jYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEludm9jYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb21wdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVByb21wdFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9tcHRSb3V0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRSb3V0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVByb21wdFJvdXRlclwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9tcHRWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvbXB0VmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVByb21wdFZlcnNpb25cIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVTZXNzaW9uXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVBZ2VudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudEFsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlQWdlbnRBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRNZW1vcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudE1lbW9yeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZUFnZW50TWVtb3J5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBZ2VudFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFZlcnNpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVBZ2VudFZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQmx1ZXByaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQmx1ZXByaW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlQmx1ZXByaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDdXN0b21Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbU1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVDdXN0b21Nb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhdGFTb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhU291cmNlOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlRGF0YVNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRmxvd0FsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlRmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGbG93VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlRmxvd1ZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHdWFyZHJhaWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUd1YXJkcmFpbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbXBvcnRlZE1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1wb3J0ZWRNb2RlbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlSW1wb3J0ZWRNb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbmZlcmVuY2VQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlSW5mZXJlbmNlUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZVwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCIsXG5cdFx0XCJiZWRyb2NrOlN0YXJ0SW5nZXN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9tcHQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVQcm9tcHRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb21wdFJvdXRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb21wdFJvdXRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlUHJvbXB0Um91dGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVSZXNvdXJjZVBvbGljeVwiLFxuXHRcdFwiYmVkcm9jazpQdXRSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2Vzc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZVNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuZFNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RW5kU2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRXhwb3J0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2VuZXJhdGVRdWVyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlUXVlcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZW5lcmF0ZVF1ZXJ5XCIsXG5cdFx0XCJiZWRyb2NrOkdldEtub3dsZWRnZUJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWNjb3VudERhdGFSZXRlbnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFjY291bnREYXRhUmV0ZW50aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRBY2NvdW50RGF0YVJldGVudGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRBZ2VudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRBY3Rpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEFnZW50QWN0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnRBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRBbGlhczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEFnZW50QWxpYXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50Q29sbGFib3JhdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRLbm93bGVkZ2VCYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QWdlbnRLbm93bGVkZ2VCYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50TWVtb3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudE1lbW9yeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEFnZW50TWVtb3J5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50VmVyc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEFnZW50VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXN5bmNJbnZva2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFzeW5jSW52b2tlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRBc3luY0ludm9rZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHM6IHN0cmluZ1tdID1cblx0XHRbXCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpbyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJsdWVwcmludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Qmx1ZXByaW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Qmx1ZXByaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDdXN0b21Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q3VzdG9tTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEN1c3RvbU1vZGVsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEN1c3RvbU1vZGVsRGVwbG95bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvbkxpYnJhcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvblByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvblByb2plY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YUF1dG9tYXRpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERhdGFBdXRvbWF0aW9uU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YVNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldERhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERvY3VtZW50Q29udGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RG9jdW1lbnRDb250ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RG9jdW1lbnRDb250ZW50XCIsXG5cdFx0XCJiZWRyb2NrOlJldHJpZXZlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV2YWx1YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEV2YWx1YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RXhlY3V0aW9uRmxvd1NuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFeGVjdXRpb25GbG93U25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRFeGVjdXRpb25GbG93U25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rmxvdzogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEZsb3dcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZsb3dBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRGbG93RXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGbG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd0V4ZWN1dGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Rmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZsb3dWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd1ZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZvdW5kYXRpb25Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rm91bmRhdGlvbk1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbEF2YWlsYWJpbGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEd1YXJkcmFpbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0R3VhcmRyYWlsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEltcG9ydGVkTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEltcG9ydGVkTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEltcG9ydGVkTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5mZXJlbmNlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW5mZXJlbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0SW5mZXJlbmNlUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbmdlc3RlZERvY3VtZW50QWNsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbmdlc3RlZERvY3VtZW50QWNsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0SW5nZXN0ZWREb2N1bWVudEFjbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluZ2VzdGlvbkpvYjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEluZ2VzdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW52b2NhdGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludm9jYXRpb25TdGVwOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0SW52b2NhdGlvblN0ZXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEtub3dsZWRnZUJhc2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1vZGVsQ29weUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxDb3B5Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbENvcHlKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxDdXN0b21pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNb2RlbEltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsSW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxJbnZvY2F0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldFByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UHJvbXB0Um91dGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9tcHRSb3V0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFByb21wdFJvdXRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldFJlc291cmNlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0U2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXNlQ2FzZUZvck1vZGVsQWNjZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFVzZUNhc2VGb3JNb2RlbEFjY2Vzc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJiZWRyb2NrOkluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHNcIixcblx0XHRcImJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBZ2VudDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkludm9rZUFnZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmNcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRGF0YUF1dG9tYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25Bc3luY1wiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpJbnZva2VGbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VHdWFyZHJhaWxDaGVja3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VHdWFyZHJhaWxDaGVja3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUd1YXJkcmFpbENoZWNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VJbmxpbmVBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUlubGluZUFnZW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6SW52b2tlSW5saW5lQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBcHBseUd1YXJkcmFpbFwiLFxuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZU1vZGVsXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZVRvb2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlTW9kZWxXaXRoQmlkaXJlY3Rpb25hbFN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aEJpZGlyZWN0aW9uYWxTdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbVwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VUb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudEFjdGlvbkdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEFjdGlvbkdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBZ2VudEFjdGlvbkdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRBbGlhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50QWxpYXNlczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudEFsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudENvbGxhYm9yYXRvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRDb2xsYWJvcmF0b3JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEFnZW50Q29sbGFib3JhdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEtub3dsZWRnZUJhc2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEFnZW50S25vd2xlZGdlQmFzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFnZW50VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRWZXJzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudFZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBc3luY0ludm9rZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXN5bmNJbnZva2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QXN5bmNJbnZva2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJsdWVwcmludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qmx1ZXByaW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RCbHVlcHJpbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Nb2RlbERlcGxveW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbU1vZGVsczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YUF1dG9tYXRpb25Qcm9qZWN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvblByb2plY3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFTb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFTb3VyY2VzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdERhdGFTb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2YWx1YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2YWx1YXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEV2YWx1YXRpb25Kb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0FsaWFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0FsaWFzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0Rmxvd0FsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93RXhlY3V0aW9uRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dFeGVjdXRpb25FdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0V4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0V4ZWN1dGlvbnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd1ZlcnNpb25zOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEZsb3dWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZsb3dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEZsb3dzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rm91bmRhdGlvbk1vZGVscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGb3VuZGF0aW9uTW9kZWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R3VhcmRyYWlscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHdWFyZHJhaWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0R3VhcmRyYWlsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1wb3J0ZWRNb2RlbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0ZWRNb2RlbHM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW1wb3J0ZWRNb2RlbHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VQcm9maWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VQcm9maWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEluZmVyZW5jZVByb2ZpbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmdlc3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZ2VzdGlvbkpvYnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW5nZXN0aW9uSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEludm9jYXRpb25TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZvY2F0aW9uU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0SW52b2NhdGlvblN0ZXBzXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RJbnZvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW52b2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52b2NhdGlvbnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW52b2NhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0S25vd2xlZGdlQmFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S25vd2xlZGdlQmFzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbENvcHlKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ29weUpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbENvcHlKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEltcG9ydEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxJbXBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdE1vZGVsSW1wb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxJbnZvY2F0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEludm9jYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0TW9kZWxJbnZvY2F0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvbXB0Um91dGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRSb3V0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0UHJvbXB0Um91dGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvbXB0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdFByb21wdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXNzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RTZXNzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgT3B0aW1pemVQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBPcHRpbWl6ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOk9wdGltaXplUHJvbXB0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQcmVwYXJlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQcmVwYXJlQWdlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQcmVwYXJlQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFByZXBhcmVGbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJlcGFyZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQcmVwYXJlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0QWNjb3VudERhdGFSZXRlbnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50RGF0YVJldGVudGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6UHV0QWNjb3VudERhdGFSZXRlbnRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6UHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEludm9jYXRpb25TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW52b2NhdGlvblN0ZXA6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQdXRJbnZvY2F0aW9uU3RlcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6UHV0UmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFVzZUNhc2VGb3JNb2RlbEFjY2VzcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFVzZUNhc2VGb3JNb2RlbEFjY2Vzczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6UHV0VXNlQ2FzZUZvck1vZGVsQWNjZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXJhbmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXJhbms6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpSZXJhbmtcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJpZXZlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmU6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpSZXRyaWV2ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmV0cmlldmVBbmRHZW5lcmF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJpZXZlQW5kR2VuZXJhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpSZXRyaWV2ZUFuZEdlbmVyYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJpZXZlQW5kR2VuZXJhdGVTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZUFuZEdlbmVyYXRlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6UmV0cmlldmVBbmRHZW5lcmF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEFzeW5jSW52b2tlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBc3luY0ludm9rZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRcdFwiYmVkcm9jazpTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZsb3dFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZsb3dFeGVjdXRpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpTdGFydEZsb3dFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0SW5nZXN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZVwiLFxuXHRcdFwiYmVkcm9jazpTdGFydEluZ2VzdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRXZhbHVhdGlvbkpvYjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlN0b3BFdmFsdWF0aW9uSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRmxvd0V4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BGbG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6U3RvcEZsb3dFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5nZXN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6U3RvcEluZ2VzdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEludm9jYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVudGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlQWdlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpVcGRhdGVBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEFsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6VXBkYXRlQWdlbnRBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJsdWVwcmludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJsdWVwcmludDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZUJsdWVwcmludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpVcGRhdGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEYXRhU291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZURhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGbG93OiBzdHJpbmdbXSA9IFtcImlhbTpQYXNzUm9sZVwiLCBcImJlZHJvY2s6VXBkYXRlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmxvd0FsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6VXBkYXRlRmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHdWFyZHJhaWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUd1YXJkcmFpbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlS25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlS25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb21wdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZVByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6VXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlc3Npb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpVcGRhdGVTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBWYWxpZGF0ZUZsb3dEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmFsaWRhdGVGbG93RGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlZhbGlkYXRlRmxvd0RlZmluaXRpb25cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGJlZHJvY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNyZWRlbnRpYWxzU2VjcmV0QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYWxsV2l0aEJlYXJlclRva2VuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFnZW50QWN0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnRBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFsaWFzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVCbHVlcHJpbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDdXN0b21Nb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXZhbHVhdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmFsdWF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGbG93IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZsb3dBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93QWxpYXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUd1YXJkcmFpbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZVByb2ZpbGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlS25vd2xlZGdlQmFzZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLbm93bGVkZ2VCYXNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbENvcHlKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDb3B5Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEltcG9ydEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEltcG9ydEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0Um91dGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFJvdXRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0VmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2Vzc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luY0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlRGF0YUF1dG9tYXRpb25Bc3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLCBcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlSW5saW5lQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlSW5saW5lQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW5saW5lQWdlbnROYW1lXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VNb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VNb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyXCIsXG5cdFx0XCJiZWRyb2NrOkluZmVyZW5jZVByb2ZpbGVBcm5cIixcblx0XHRcImJlZHJvY2s6TW9kZWxBcm5cIixcblx0XHRcImJlZHJvY2s6UHJvamVjdEFyblwiLFxuXHRcdFwiYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm5cIixcblx0XHRcImJlZHJvY2s6U2VydmljZVRpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkd1YXJkcmFpbElkZW50aWZpZXJcIixcblx0XHRcImJlZHJvY2s6SW5mZXJlbmNlUHJvZmlsZUFyblwiLFxuXHRcdFwiYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm5cIixcblx0XHRcImJlZHJvY2s6U2VydmljZVRpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEFjY291bnREYXRhUmV0ZW50aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnREYXRhUmV0ZW50aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRhdGFSZXRlbnRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpCZWFyZXJUb2tlblR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJFQVJFUl9UT0tFTl9UWVBFID0gXCJiZWRyb2NrOkJlYXJlclRva2VuVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFUQV9SRVRFTlRJT05fTU9ERSA9IFwiYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBHVUFSRFJBSUxfSURFTlRJRklFUiA9IFwiYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOkluZmVyZW5jZVByb2ZpbGVBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElORkVSRU5DRV9QUk9GSUxFX0FSTiA9IFwiYmVkcm9jazpJbmZlcmVuY2VQcm9maWxlQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOklubGluZUFnZW50TmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5MSU5FX0FHRU5UX05BTUUgPSBcImJlZHJvY2s6SW5saW5lQWdlbnROYW1lXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOk1vZGVsQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9BUk4gPSBcImJlZHJvY2s6TW9kZWxBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2s6UHJvamVjdEFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPSkVDVF9BUk4gPSBcImJlZHJvY2s6UHJvamVjdEFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBST01QVF9ST1VURVJfQVJOID0gXCJiZWRyb2NrOlByb21wdFJvdXRlckFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpTZXJ2aWNlVGllciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9USUVSID0gXCJiZWRyb2NrOlNlcnZpY2VUaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOlRoaXJkUGFydHlLbm93bGVkZ2VCYXNlQ3JlZGVudGlhbHNTZWNyZXRBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRISVJEX1BBUlRZX0tOT1dMRURHRV9CQVNFX0NSRURFTlRJQUxTX1NFQ1JFVF9BUk4gPVxuXHRcdFwiYmVkcm9jazpUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNyZWRlbnRpYWxzU2VjcmV0QXJuXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBiZWFyZXJUb2tlblR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOkRhdGFSZXRlbnRpb25Nb2RlYC5cblx0ICovXG5cdHN0YXRpYyBkYXRhUmV0ZW50aW9uTW9kZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyYC5cblx0ICovXG5cdHN0YXRpYyBndWFyZHJhaWxJZGVudGlmaWVyKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOkd1YXJkcmFpbElkZW50aWZpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6SW5mZXJlbmNlUHJvZmlsZUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlUHJvZmlsZUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiYmVkcm9jazpJbmZlcmVuY2VQcm9maWxlQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOklubGluZUFnZW50TmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgaW5saW5lQWdlbnROYW1lKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrOklubGluZUFnZW50TmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jazpNb2RlbEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOk1vZGVsQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOlByb2plY3RBcm5gLlxuXHQgKi9cblx0c3RhdGljIHByb2plY3RBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOlByb2plY3RBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6UHJvbXB0Um91dGVyQXJuYC5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHRSb3V0ZXJBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImJlZHJvY2s6UHJvbXB0Um91dGVyQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOlNlcnZpY2VUaWVyYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlVGllcih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2s6U2VydmljZVRpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6VGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgdGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdEFybkVxdWFsczoge1xuXHRcdFx0XHRcImJlZHJvY2s6VGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFyblwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxufVxuIl19
3305
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvYmVkcm9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0EwNEJDOzs7QUF6NEJBLDhCQUE4QjtBQUNkLDZCQUFjLEdBQUcsU0FBUyxDQUFDO0FBRTNDLDJDQUEyQztBQUMzQixvQ0FBcUIsR0FBRywrQkFBK0IsQ0FBQztBQUN4RSx1RUFBdUU7QUFDdkQsZ0RBQWlDLEdBQ2hELDJDQUEyQyxDQUFDO0FBQzdDLG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELGlEQUFpRDtBQUNqQyx5Q0FBMEIsR0FDekMsb0NBQW9DLENBQUM7QUFDdEMsa0RBQWtEO0FBQ2xDLDBDQUEyQixHQUMxQyxxQ0FBcUMsQ0FBQztBQUN2Qyx1REFBdUQ7QUFDdkMsK0NBQWdDLEdBQy9DLDBDQUEwQyxDQUFDO0FBQzVDLCtEQUErRDtBQUMvQyx1REFBd0MsR0FDdkQsa0RBQWtELENBQUM7QUFDcEQsK0NBQStDO0FBQy9CLHVDQUF3QixHQUFHLGtDQUFrQyxDQUFDO0FBQzlFLHlDQUF5QztBQUN6QixrQ0FBbUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNwRSxrRUFBa0U7QUFDbEQsMERBQTJDLEdBQzFELHFEQUFxRCxDQUFDO0FBQ3ZELG1DQUFtQztBQUNuQiwyQkFBWSxHQUFHLHNCQUFzQixDQUFDO0FBQ3RELDhDQUE4QztBQUM5Qix1Q0FBd0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM5RSx5Q0FBeUM7QUFDekIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsaUNBQWlDO0FBQ2pCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7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QXlCLENBQUM7QUFDOUQsNENBQTRDO0FBQzVCLDJCQUFTLEdBQUcsa0JBQWtCLENBQUM7QUFDL0MsOENBQThDO0FBQzlCLDZCQUFXLEdBQUcsb0JBQW9CLENBQUM7QUFDbkQsbURBQW1EO0FBQ25DLG1DQUFpQixHQUFHLHlCQUF5QixDQUFDO0FBQzlELGtEQUFrRDtBQUNsQyw4QkFBWSxHQUFHLHFCQUFxQixDQUFDO0FBQ3JELCtFQUErRTtBQUMvRCxtRUFBaUQsR0FDaEUscURBQXFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9iZWRyb2NrLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBiZWRyb2NrIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImJlZHJvY2tcIjtcblxuXHQvKiogW1JlYWRdIGJlZHJvY2s6QWdlbnRpY1JldHJpZXZlU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBBZ2VudGljUmV0cmlldmVTdHJlYW0gPSBcImJlZHJvY2s6QWdlbnRpY1JldHJpZXZlU3RyZWFtXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIGJlZHJvY2s6QWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UgPVxuXHRcdFwiYmVkcm9jazpBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkFwcGx5R3VhcmRyYWlsICovXG5cdHN0YXRpYyByZWFkb25seSBBcHBseUd1YXJkcmFpbCA9IFwiYmVkcm9jazpBcHBseUd1YXJkcmFpbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvciA9XG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6QXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UgPVxuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlVGhpcmRQYXJ0eUtub3dsZWRnZUJhc2UgPVxuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpCYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6QmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2IgPSBcImJlZHJvY2s6QmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBDYWxsV2l0aEJlYXJlclRva2VuID0gXCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ID1cblx0XHRcImJlZHJvY2s6Q2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNhbmNlbEludm9rZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsSW52b2tlID0gXCJiZWRyb2NrOkNhbmNlbEludm9rZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6Q2hlY2tJbmdlc3RlZERvY3VtZW50QWNsICovXG5cdHN0YXRpYyByZWFkb25seSBDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2wgPSBcImJlZHJvY2s6Q2hlY2tJbmdlc3RlZERvY3VtZW50QWNsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q29weUJsdWVwcmludFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5Qmx1ZXByaW50U3RhZ2UgPSBcImJlZHJvY2s6Q29weUJsdWVwcmludFN0YWdlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpDb3VudFRva2VucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ291bnRUb2tlbnMgPSBcImJlZHJvY2s6Q291bnRUb2tlbnNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudCA9IFwiYmVkcm9jazpDcmVhdGVBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUFnZW50QWN0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50QWN0aW9uR3JvdXAgPSBcImJlZHJvY2s6Q3JlYXRlQWdlbnRBY3Rpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUFnZW50QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50QWxpYXMgPSBcImJlZHJvY2s6Q3JlYXRlQWdlbnRBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUJsdWVwcmludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50ID0gXCJiZWRyb2NrOkNyZWF0ZUJsdWVwcmludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUJsdWVwcmludFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJsdWVwcmludFZlcnNpb24gPSBcImJlZHJvY2s6Q3JlYXRlQmx1ZXByaW50VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbCA9IFwiYmVkcm9jazpDcmVhdGVDdXN0b21Nb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVEYXRhQXV0b21hdGlvblByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZURhdGFTb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFTb3VyY2UgPSBcImJlZHJvY2s6Q3JlYXRlRGF0YVNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZURhdGFTb3VyY2VUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVNvdXJjZVRva2VuID0gXCJiZWRyb2NrOkNyZWF0ZURhdGFTb3VyY2VUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUV2YWx1YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2YWx1YXRpb25Kb2IgPSBcImJlZHJvY2s6Q3JlYXRlRXZhbHVhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUZsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3cgPSBcImJlZHJvY2s6Q3JlYXRlRmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUZsb3dBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd0FsaWFzID0gXCJiZWRyb2NrOkNyZWF0ZUZsb3dBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUZsb3dWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93VmVyc2lvbiA9IFwiYmVkcm9jazpDcmVhdGVGbG93VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlR3VhcmRyYWlsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWwgPSBcImJlZHJvY2s6Q3JlYXRlR3VhcmRyYWlsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlR3VhcmRyYWlsVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbiA9IFwiYmVkcm9jazpDcmVhdGVHdWFyZHJhaWxWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlSW5mZXJlbmNlUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZSA9IFwiYmVkcm9jazpDcmVhdGVJbmZlcmVuY2VQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlSW52b2NhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW52b2NhdGlvbiA9IFwiYmVkcm9jazpDcmVhdGVJbnZvY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlS25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlS25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpDcmVhdGVLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVNb2RlbENvcHlKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ29weUpvYiA9IFwiYmVkcm9jazpDcmVhdGVNb2RlbENvcHlKb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZU1vZGVsRXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iID0gXCJiZWRyb2NrOkNyZWF0ZU1vZGVsRXZhbHVhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZU1vZGVsSW1wb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEltcG9ydEpvYiA9IFwiYmVkcm9jazpDcmVhdGVNb2RlbEltcG9ydEpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iID0gXCJiZWRyb2NrOkNyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZVByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvbXB0ID0gXCJiZWRyb2NrOkNyZWF0ZVByb21wdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZVByb21wdFJvdXRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvbXB0Um91dGVyID0gXCJiZWRyb2NrOkNyZWF0ZVByb21wdFJvdXRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZVByb21wdFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFZlcnNpb24gPSBcImJlZHJvY2s6Q3JlYXRlUHJvbXB0VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2Vzc2lvbiA9IFwiYmVkcm9jazpDcmVhdGVTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50ID0gXCJiZWRyb2NrOkRlbGV0ZUFnZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQWdlbnRBY3Rpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRBY3Rpb25Hcm91cCA9IFwiYmVkcm9jazpEZWxldGVBZ2VudEFjdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQWdlbnRBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRBbGlhcyA9IFwiYmVkcm9jazpEZWxldGVBZ2VudEFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQWdlbnRNZW1vcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50TWVtb3J5ID0gXCJiZWRyb2NrOkRlbGV0ZUFnZW50TWVtb3J5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQWdlbnRWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFZlcnNpb24gPSBcImJlZHJvY2s6RGVsZXRlQWdlbnRWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQmx1ZXByaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCbHVlcHJpbnQgPSBcImJlZHJvY2s6RGVsZXRlQmx1ZXByaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQ3VzdG9tTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbU1vZGVsID0gXCJiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnQgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRGF0YVNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YVNvdXJjZSA9IFwiYmVkcm9jazpEZWxldGVEYXRhU291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24gPVxuXHRcdFwiYmVkcm9jazpEZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVGbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93ID0gXCJiZWRyb2NrOkRlbGV0ZUZsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVGbG93QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dBbGlhcyA9IFwiYmVkcm9jazpEZWxldGVGbG93QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVGbG93VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd1ZlcnNpb24gPSBcImJlZHJvY2s6RGVsZXRlRmxvd1ZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUd1YXJkcmFpbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR3VhcmRyYWlsID0gXCJiZWRyb2NrOkRlbGV0ZUd1YXJkcmFpbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUltcG9ydGVkTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltcG9ydGVkTW9kZWwgPSBcImJlZHJvY2s6RGVsZXRlSW1wb3J0ZWRNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUluZmVyZW5jZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZVByb2ZpbGUgPSBcImJlZHJvY2s6RGVsZXRlSW5mZXJlbmNlUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUludm9rZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW52b2tlID0gXCJiZWRyb2NrOkRlbGV0ZUludm9rZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtub3dsZWRnZUJhc2UgPSBcImJlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHMgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlTWFya2V0cGxhY2VNb2RlbEFncmVlbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWFya2V0cGxhY2VNb2RlbEFncmVlbWVudCA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxBZ3JlZW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlUHJvbXB0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9tcHQgPSBcImJlZHJvY2s6RGVsZXRlUHJvbXB0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlUHJvbXB0Um91dGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9tcHRSb3V0ZXIgPSBcImJlZHJvY2s6RGVsZXRlUHJvbXB0Um91dGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3kgPSBcImJlZHJvY2s6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXNzaW9uID0gXCJiZWRyb2NrOkRlbGV0ZVNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ID1cblx0XHRcImJlZHJvY2s6RGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6RGV0ZWN0R2VuZXJhdGVkQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0R2VuZXJhdGVkQ29udGVudCA9IFwiYmVkcm9jazpEZXRlY3RHZW5lcmF0ZWRDb250ZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yID1cblx0XHRcImJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEaXNhc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSA9XG5cdFx0XCJiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkVuZFNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuZFNlc3Npb24gPSBcImJlZHJvY2s6RW5kU2Vzc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6RXhwb3J0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiA9XG5cdFx0XCJiZWRyb2NrOkV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdlbmVyYXRlUXVlcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlUXVlcnkgPSBcImJlZHJvY2s6R2VuZXJhdGVRdWVyeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWNjb3VudERhdGFSZXRlbnRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFjY291bnREYXRhUmV0ZW50aW9uID1cblx0XHRcImJlZHJvY2s6R2V0QWNjb3VudERhdGFSZXRlbnRpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkdldEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnQgPSBcImJlZHJvY2s6R2V0QWdlbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50QWN0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50QWN0aW9uR3JvdXAgPSBcImJlZHJvY2s6R2V0QWdlbnRBY3Rpb25Hcm91cFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnRBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRBbGlhcyA9IFwiYmVkcm9jazpHZXRBZ2VudEFsaWFzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudENvbGxhYm9yYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRDb2xsYWJvcmF0b3IgPSBcImJlZHJvY2s6R2V0QWdlbnRDb2xsYWJvcmF0b3JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOkdldEFnZW50S25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnRNZW1vcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50TWVtb3J5ID0gXCJiZWRyb2NrOkdldEFnZW50TWVtb3J5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50VmVyc2lvbiA9IFwiYmVkcm9jazpHZXRBZ2VudFZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFzeW5jSW52b2tlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3luY0ludm9rZSA9IFwiYmVkcm9jazpHZXRBc3luY0ludm9rZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1Jlc3VsdEFzc2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1Jlc3VsdEFzc2V0cyA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpbyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdCA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEJsdWVwcmludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Qmx1ZXByaW50ID0gXCJiZWRyb2NrOkdldEJsdWVwcmludFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Qmx1ZXByaW50T3B0aW1pemF0aW9uU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXMgPVxuXHRcdFwiYmVkcm9jazpHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEJsdWVwcmludFJlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOkdldEJsdWVwcmludFJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRDdXN0b21Nb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q3VzdG9tTW9kZWwgPSBcImJlZHJvY2s6R2V0Q3VzdG9tTW9kZWxcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEN1c3RvbU1vZGVsRGVwbG95bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50ID1cblx0XHRcImJlZHJvY2s6R2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFBdXRvbWF0aW9uTGlicmFyeSA9XG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uTGlicmFyeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHkgPVxuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhQXV0b21hdGlvblByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFBdXRvbWF0aW9uUHJvamVjdCA9XG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uUHJvamVjdFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFBdXRvbWF0aW9uU3RhdHVzID1cblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25TdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFTb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFTb3VyY2UgPSBcImJlZHJvY2s6R2V0RGF0YVNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YVNvdXJjZUF1dGhvcml6YXRpb25VcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFTb3VyY2VBdXRob3JpemF0aW9uVXJsID1cblx0XHRcImJlZHJvY2s6R2V0RGF0YVNvdXJjZUF1dGhvcml6YXRpb25VcmxcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERvY3VtZW50Q29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RG9jdW1lbnRDb250ZW50ID0gXCJiZWRyb2NrOkdldERvY3VtZW50Q29udGVudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RXZhbHVhdGlvbkpvYiA9IFwiYmVkcm9jazpHZXRFdmFsdWF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRFeGVjdXRpb25GbG93U25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV4ZWN1dGlvbkZsb3dTbmFwc2hvdCA9XG5cdFx0XCJiZWRyb2NrOkdldEV4ZWN1dGlvbkZsb3dTbmFwc2hvdFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RmxvdyA9IFwiYmVkcm9jazpHZXRGbG93XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRGbG93QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZsb3dBbGlhcyA9IFwiYmVkcm9jazpHZXRGbG93QWxpYXNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEZsb3dFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZsb3dFeGVjdXRpb24gPSBcImJlZHJvY2s6R2V0Rmxvd0V4ZWN1dGlvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Rmxvd1ZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZsb3dWZXJzaW9uID0gXCJiZWRyb2NrOkdldEZsb3dWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZvdW5kYXRpb25Nb2RlbCA9IFwiYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWxcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbEF2YWlsYWJpbGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5ID1cblx0XHRcImJlZHJvY2s6R2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRHdWFyZHJhaWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEd1YXJkcmFpbCA9IFwiYmVkcm9jazpHZXRHdWFyZHJhaWxcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEltcG9ydGVkTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEltcG9ydGVkTW9kZWwgPSBcImJlZHJvY2s6R2V0SW1wb3J0ZWRNb2RlbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0SW5mZXJlbmNlUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5mZXJlbmNlUHJvZmlsZSA9IFwiYmVkcm9jazpHZXRJbmZlcmVuY2VQcm9maWxlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRJbmdlc3RlZERvY3VtZW50QWNsICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbmdlc3RlZERvY3VtZW50QWNsID1cblx0XHRcImJlZHJvY2s6R2V0SW5nZXN0ZWREb2N1bWVudEFjbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0SW5nZXN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbmdlc3Rpb25Kb2IgPSBcImJlZHJvY2s6R2V0SW5nZXN0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRJbnZvY2F0aW9uU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW52b2NhdGlvblN0ZXAgPSBcImJlZHJvY2s6R2V0SW52b2NhdGlvblN0ZXBcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEludm9rZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW52b2tlID0gXCJiZWRyb2NrOkdldEludm9rZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0S25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzID1cblx0XHRcImJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsQ29weUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxDb3B5Sm9iID0gXCJiZWRyb2NrOkdldE1vZGVsQ29weUpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxDdXN0b21pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsRXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxFdmFsdWF0aW9uSm9iID0gXCJiZWRyb2NrOkdldE1vZGVsRXZhbHVhdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsSW1wb3J0Sm9iID0gXCJiZWRyb2NrOkdldE1vZGVsSW1wb3J0Sm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsSW52b2NhdGlvbkpvYiA9IFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRQcm9tcHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb21wdCA9IFwiYmVkcm9jazpHZXRQcm9tcHRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldFByb21wdFJvdXRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvbXB0Um91dGVyID0gXCJiZWRyb2NrOkdldFByb21wdFJvdXRlclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ID1cblx0XHRcImJlZHJvY2s6R2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVBvbGljeSA9IFwiYmVkcm9jazpHZXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0U2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2Vzc2lvbiA9IFwiYmVkcm9jazpHZXRTZXNzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFVzZUNhc2VGb3JNb2RlbEFjY2VzcyA9XG5cdFx0XCJiZWRyb2NrOkdldFVzZUNhc2VGb3JNb2RlbEFjY2Vzc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHMgPVxuXHRcdFwiYmVkcm9jazpJbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQWdlbnQgPSBcImJlZHJvY2s6SW52b2tlQWdlbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ID1cblx0XHRcImJlZHJvY2s6SW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jID1cblx0XHRcImJlZHJvY2s6SW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpJbnZva2VCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbkFzeW5jICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbkFzeW5jID1cblx0XHRcImJlZHJvY2s6SW52b2tlQmx1ZXByaW50UmVjb21tZW5kYXRpb25Bc3luY1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZUJ1aWxkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJ1aWxkZXIgPSBcImJlZHJvY2s6SW52b2tlQnVpbGRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbiA9IFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMgPVxuXHRcdFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZUZsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUZsb3cgPSBcImJlZHJvY2s6SW52b2tlRmxvd1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlR3VhcmRyYWlsQ2hlY2tzICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VHdWFyZHJhaWxDaGVja3MgPSBcImJlZHJvY2s6SW52b2tlR3VhcmRyYWlsQ2hlY2tzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VJbmxpbmVBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlSW5saW5lQWdlbnQgPSBcImJlZHJvY2s6SW52b2tlSW5saW5lQWdlbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VNb2RlbCA9IFwiYmVkcm9jazpJbnZva2VNb2RlbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtID1cblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW1cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZVRvb2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZVRvb2wgPSBcImJlZHJvY2s6SW52b2tlVG9vbFwiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9icyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZ2VudEFjdGlvbkdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50QWN0aW9uR3JvdXBzID0gXCJiZWRyb2NrOkxpc3RBZ2VudEFjdGlvbkdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFnZW50QWxpYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50QWxpYXNlcyA9IFwiYmVkcm9jazpMaXN0QWdlbnRBbGlhc2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWdlbnRDb2xsYWJvcmF0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRDb2xsYWJvcmF0b3JzID0gXCJiZWRyb2NrOkxpc3RBZ2VudENvbGxhYm9yYXRvcnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZ2VudEtub3dsZWRnZUJhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyA9IFwiYmVkcm9jazpMaXN0QWdlbnRLbm93bGVkZ2VCYXNlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFnZW50VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFZlcnNpb25zID0gXCJiZWRyb2NrOkxpc3RBZ2VudFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWdlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRzID0gXCJiZWRyb2NrOkxpc3RBZ2VudHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBc3luY0ludm9rZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3luY0ludm9rZXMgPSBcImJlZHJvY2s6TGlzdEFzeW5jSW52b2tlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWNpZXMgPVxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWNpZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dzID1cblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzID1cblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHMgPVxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RCbHVlcHJpbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qmx1ZXByaW50cyA9IFwiYmVkcm9jazpMaXN0Qmx1ZXByaW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsRGVwbG95bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Nb2RlbERlcGxveW1lbnRzID1cblx0XHRcImJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsRGVwbG95bWVudHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RDdXN0b21Nb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Nb2RlbHMgPSBcImJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMgPVxuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzID1cblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnMgPVxuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvblByb2plY3RzID1cblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3REYXRhU291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFTb3VyY2VzID0gXCJiZWRyb2NrOkxpc3REYXRhU291cmNlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6TGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RFdmFsdWF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2YWx1YXRpb25Kb2JzID0gXCJiZWRyb2NrOkxpc3RFdmFsdWF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZsb3dBbGlhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0FsaWFzZXMgPSBcImJlZHJvY2s6TGlzdEZsb3dBbGlhc2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dFeGVjdXRpb25FdmVudHMgPSBcImJlZHJvY2s6TGlzdEZsb3dFeGVjdXRpb25FdmVudHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGbG93RXhlY3V0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dFeGVjdXRpb25zID0gXCJiZWRyb2NrOkxpc3RGbG93RXhlY3V0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZsb3dWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dWZXJzaW9ucyA9IFwiYmVkcm9jazpMaXN0Rmxvd1ZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rmxvd3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbG93cyA9IFwiYmVkcm9jazpMaXN0Rmxvd3NcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRPZmZlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRPZmZlcnMgPVxuXHRcdFwiYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZvdW5kYXRpb25Nb2RlbHMgPSBcImJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RHdWFyZHJhaWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R3VhcmRyYWlscyA9IFwiYmVkcm9jazpMaXN0R3VhcmRyYWlsc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEltcG9ydGVkTW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0ZWRNb2RlbHMgPSBcImJlZHJvY2s6TGlzdEltcG9ydGVkTW9kZWxzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0SW5mZXJlbmNlUHJvZmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VQcm9maWxlcyA9IFwiYmVkcm9jazpMaXN0SW5mZXJlbmNlUHJvZmlsZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RJbmdlc3Rpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5nZXN0aW9uSm9icyA9IFwiYmVkcm9jazpMaXN0SW5nZXN0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEludm9jYXRpb25TdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludm9jYXRpb25TdGVwcyA9IFwiYmVkcm9jazpMaXN0SW52b2NhdGlvblN0ZXBzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0SW52b2NhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZvY2F0aW9ucyA9IFwiYmVkcm9jazpMaXN0SW52b2NhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RLbm93bGVkZ2VCYXNlcyA9IFwiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZXNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0TW9kZWxDb3B5Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ29weUpvYnMgPSBcImJlZHJvY2s6TGlzdE1vZGVsQ29weUpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDdXN0b21pemF0aW9uSm9icyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0TW9kZWxFdmFsdWF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsRXZhbHVhdGlvbkpvYnMgPSBcImJlZHJvY2s6TGlzdE1vZGVsRXZhbHVhdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RNb2RlbEltcG9ydEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEltcG9ydEpvYnMgPSBcImJlZHJvY2s6TGlzdE1vZGVsSW1wb3J0Sm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdE1vZGVsSW52b2NhdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEludm9jYXRpb25Kb2JzID0gXCJiZWRyb2NrOkxpc3RNb2RlbEludm9jYXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0UHJvbXB0Um91dGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb21wdFJvdXRlcnMgPSBcImJlZHJvY2s6TGlzdFByb21wdFJvdXRlcnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RQcm9tcHRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvbXB0cyA9IFwiYmVkcm9jazpMaXN0UHJvbXB0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RTZXNzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlc3Npb25zID0gXCJiZWRyb2NrOkxpc3RTZXNzaW9uc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiYmVkcm9jazpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpPcHRpbWl6ZVByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT3B0aW1pemVQcm9tcHQgPSBcImJlZHJvY2s6T3B0aW1pemVQcm9tcHRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQcmVwYXJlQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFByZXBhcmVBZ2VudCA9IFwiYmVkcm9jazpQcmVwYXJlQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQcmVwYXJlRmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJlcGFyZUZsb3cgPSBcImJlZHJvY2s6UHJlcGFyZUZsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRBY2NvdW50RGF0YVJldGVudGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWNjb3VudERhdGFSZXRlbnRpb24gPSBcImJlZHJvY2s6UHV0QWNjb3VudERhdGFSZXRlbnRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOlB1dEVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dEZvdW5kYXRpb25Nb2RlbEVudGl0bGVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRGb3VuZGF0aW9uTW9kZWxFbnRpdGxlbWVudCA9XG5cdFx0XCJiZWRyb2NrOlB1dEZvdW5kYXRpb25Nb2RlbEVudGl0bGVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHV0SW52b2NhdGlvblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEludm9jYXRpb25TdGVwID0gXCJiZWRyb2NrOlB1dEludm9jYXRpb25TdGVwXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6UHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3kgPSBcImJlZHJvY2s6UHV0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFVzZUNhc2VGb3JNb2RlbEFjY2VzcyA9IFwiYmVkcm9jazpQdXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3NcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6UmVuZGVyUHJvbXB0ICovXG5cdHN0YXRpYyByZWFkb25seSBSZW5kZXJQcm9tcHQgPSBcImJlZHJvY2s6UmVuZGVyUHJvbXB0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UmVyYW5rICovXG5cdHN0YXRpYyByZWFkb25seSBSZXJhbmsgPSBcImJlZHJvY2s6UmVyYW5rXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpSZXRyaWV2ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmUgPSBcImJlZHJvY2s6UmV0cmlldmVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpSZXRyaWV2ZUFuZEdlbmVyYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZUFuZEdlbmVyYXRlID0gXCJiZWRyb2NrOlJldHJpZXZlQW5kR2VuZXJhdGVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyA9XG5cdFx0XCJiZWRyb2NrOlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RXb3JrZmxvdyA9XG5cdFx0XCJiZWRyb2NrOlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RhcnRGbG93RXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZsb3dFeGVjdXRpb24gPSBcImJlZHJvY2s6U3RhcnRGbG93RXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW5nZXN0aW9uSm9iID0gXCJiZWRyb2NrOlN0YXJ0SW5nZXN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RvcEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wRXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEV2YWx1YXRpb25Kb2IgPSBcImJlZHJvY2s6U3RvcEV2YWx1YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wRmxvd0V4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEZsb3dFeGVjdXRpb24gPSBcImJlZHJvY2s6U3RvcEZsb3dFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wSW5nZXN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5nZXN0aW9uSm9iID0gXCJiZWRyb2NrOlN0b3BJbmdlc3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6U3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0b3BNb2RlbEludm9jYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEludm9jYXRpb25Kb2IgPSBcImJlZHJvY2s6U3RvcE1vZGVsSW52b2NhdGlvbkpvYlwiO1xuXHQvKiogW1RhZ2dpbmddIGJlZHJvY2s6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJiZWRyb2NrOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gYmVkcm9jazpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJiZWRyb2NrOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnQgPSBcImJlZHJvY2s6VXBkYXRlQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudEFjdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEFjdGlvbkdyb3VwID0gXCJiZWRyb2NrOlVwZGF0ZUFnZW50QWN0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudEFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEFsaWFzID0gXCJiZWRyb2NrOlVwZGF0ZUFnZW50QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudENvbGxhYm9yYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IgPSBcImJlZHJvY2s6VXBkYXRlQWdlbnRDb2xsYWJvcmF0b3JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudEtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpVcGRhdGVBZ2VudEtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlID1cblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVCbHVlcHJpbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJsdWVwcmludCA9IFwiYmVkcm9jazpVcGRhdGVCbHVlcHJpbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ID1cblx0XHRcImJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhQXV0b21hdGlvblByb2plY3QgPVxuXHRcdFwiYmVkcm9jazpVcGRhdGVEYXRhQXV0b21hdGlvblByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVEYXRhU291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhU291cmNlID0gXCJiZWRyb2NrOlVwZGF0ZURhdGFTb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVGbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGbG93ID0gXCJiZWRyb2NrOlVwZGF0ZUZsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVGbG93QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZsb3dBbGlhcyA9IFwiYmVkcm9jazpVcGRhdGVGbG93QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVHdWFyZHJhaWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUd1YXJkcmFpbCA9IFwiYmVkcm9jazpVcGRhdGVHdWFyZHJhaWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOlVwZGF0ZUtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZVByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvbXB0ID0gXCJiZWRyb2NrOlVwZGF0ZVByb21wdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2Vzc2lvbiA9IFwiYmVkcm9jazpVcGRhdGVTZXNzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpWYWxpZGF0ZUZsb3dEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBWYWxpZGF0ZUZsb3dEZWZpbml0aW9uID0gXCJiZWRyb2NrOlZhbGlkYXRlRmxvd0RlZmluaXRpb25cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWN0aW9ucy5BZ2VudGljUmV0cmlldmVTdHJlYW0sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQXBwbHlHdWFyZHJhaWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ2FsbFdpdGhCZWFyZXJUb2tlbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DaGVja0luZ2VzdGVkRG9jdW1lbnRBY2wsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ291bnRUb2tlbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGV0ZWN0R2VuZXJhdGVkQ29udGVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5FeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkdlbmVyYXRlUXVlcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWNjb3VudERhdGFSZXRlbnRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRBY3Rpb25Hcm91cCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudEFsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50Q29sbGFib3JhdG9yLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50S25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudE1lbW9yeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXN5bmNJbnZva2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1Jlc3VsdEFzc2V0cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lOZXh0U2NlbmFyaW8sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRCbHVlcHJpbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Qmx1ZXByaW50T3B0aW1pemF0aW9uU3RhdHVzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEJsdWVwcmludFJlY29tbWVuZGF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEN1c3RvbU1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEN1c3RvbU1vZGVsRGVwbG95bWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhQXV0b21hdGlvbkxpYnJhcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhQXV0b21hdGlvblByb2plY3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25TdGF0dXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YVNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhU291cmNlQXV0aG9yaXphdGlvblVybCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREb2N1bWVudENvbnRlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRFeGVjdXRpb25GbG93U25hcHNob3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Rmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGbG93QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Rmxvd0V4ZWN1dGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGbG93VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGb3VuZGF0aW9uTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEd1YXJkcmFpbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbXBvcnRlZE1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEluZmVyZW5jZVByb2ZpbGUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW5nZXN0ZWREb2N1bWVudEFjbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbmdlc3Rpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW52b2NhdGlvblN0ZXAsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW52b2tlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0S25vd2xlZGdlQmFzZURvY3VtZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxDb3B5Sm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNb2RlbEV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxJbXBvcnRKb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxJbnZvY2F0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldFByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRQcm9tcHRSb3V0ZXIsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0U2Vzc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUZsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlR3VhcmRyYWlsQ2hlY2tzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUlubGluZUFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZU1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZVRvb2wsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5PcHRpbWl6ZVByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5SZW5kZXJQcm9tcHQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUmV0cmlldmUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVmFsaWRhdGVGbG93RGVmaW5pdGlvbixcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWN0aW9ucy5Bc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvcixcblx0XHRCZWRyb2NrQWN0aW9ucy5Bc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQXNzb2NpYXRlVGhpcmRQYXJ0eUtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5CYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5DYW5jZWxJbnZva2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ29weUJsdWVwcmludFN0YWdlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUFnZW50QWN0aW9uR3JvdXAsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQWdlbnRBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVCbHVlcHJpbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQmx1ZXByaW50VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVDdXN0b21Nb2RlbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVEYXRhU291cmNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZURhdGFTb3VyY2VUb2tlbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVFdmFsdWF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUZsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRmxvd0FsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUZsb3dWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVHdWFyZHJhaWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVJbmZlcmVuY2VQcm9maWxlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUludm9jYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlS25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlTW9kZWxDb3B5Sm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlTW9kZWxJbXBvcnRKb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZVByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVQcm9tcHRSb3V0ZXIsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlUHJvbXB0VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVTZXNzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUFnZW50QWN0aW9uR3JvdXAsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQWdlbnRBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBZ2VudE1lbW9yeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBZ2VudFZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQmx1ZXByaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUN1c3RvbU1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZURhdGFTb3VyY2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUZsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRmxvd0FsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUZsb3dWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVHdWFyZHJhaWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlSW1wb3J0ZWRNb2RlbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVJbmZlcmVuY2VQcm9maWxlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUludm9rZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlTWFya2V0cGxhY2VNb2RlbEFncmVlbWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlUHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZVByb21wdFJvdXRlcixcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVSZXNvdXJjZVBvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVTZXNzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkVuZFNlc3Npb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbkFzeW5jLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUJ1aWxkZXIsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlRGF0YUF1dG9tYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlRGF0YUF1dG9tYXRpb25Bc3luYyxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHJlcGFyZUFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlByZXBhcmVGbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dEFjY291bnREYXRhUmV0ZW50aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dEVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5QdXRGb3VuZGF0aW9uTW9kZWxFbnRpdGxlbWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5QdXRJbnZvY2F0aW9uU3RlcCxcblx0XHRCZWRyb2NrQWN0aW9ucy5QdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5QdXRSZXNvdXJjZVBvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5QdXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUmVyYW5rLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlJldHJpZXZlQW5kR2VuZXJhdGUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0YXJ0Rmxvd0V4ZWN1dGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdGFydEluZ2VzdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RvcEV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RvcEZsb3dFeGVjdXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RvcEluZ2VzdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0b3BNb2RlbEludm9jYXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQWdlbnRBY3Rpb25Hcm91cCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBZ2VudEFsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUFnZW50Q29sbGFib3JhdG9yLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQmx1ZXByaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZURhdGFTb3VyY2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlRmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVGbG93QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlR3VhcmRyYWlsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZVByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVTZXNzaW9uLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZ2VudEFjdGlvbkdyb3Vwcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRBbGlhc2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZ2VudENvbGxhYm9yYXRvcnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50S25vd2xlZGdlQmFzZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50VmVyc2lvbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QXN5bmNJbnZva2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd3MsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEJsdWVwcmludHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEN1c3RvbU1vZGVsRGVwbG95bWVudHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEN1c3RvbU1vZGVscyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3REYXRhQXV0b21hdGlvblByb2plY3RzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3REYXRhU291cmNlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0RXZhbHVhdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZsb3dBbGlhc2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGbG93RXhlY3V0aW9uRXZlbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGbG93RXhlY3V0aW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Rmxvd1ZlcnNpb25zLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGbG93cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGb3VuZGF0aW9uTW9kZWxzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RHdWFyZHJhaWxzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RJbXBvcnRlZE1vZGVscyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0SW5mZXJlbmNlUHJvZmlsZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEluZ2VzdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEludm9jYXRpb25TdGVwcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0SW52b2NhdGlvbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEtub3dsZWRnZUJhc2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RNb2RlbENvcHlKb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RNb2RlbEV2YWx1YXRpb25Kb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RNb2RlbEltcG9ydEpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsSW52b2NhdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdFByb21wdFJvdXRlcnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdFByb21wdHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0U2Vzc2lvbnMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBY3Rpb25zLkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmVkcm9ja0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhZ2VudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEFnZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFnZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhZ2VudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2VudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWdlbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWdlbnQtYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudEFsaWFzQXJuUHJvcHMge1xuXHQvKiogVGhlIEFnZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFnZW50SWQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2VudEFsaWFzSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFnZW50QWxpYXNJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFnZW50LWFsaWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRBbGlhc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdlbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50SWQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2VudEFsaWFzSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2VudEFsaWFzSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFzeW5jLWludm9rZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FzeW5jSW52b2tlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhc3luYy1pbnZva2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBc3luY0ludm9rZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuUHJvcHMge1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ6IHN0cmluZztcblx0LyoqIFRoZSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ6IHN0cmluZztcblx0LyoqIFRoZSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYmVkcm9jay1tYXJrZXRwbGFjZS1tb2RlbC1lbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0JlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYmVkcm9jay1tYXJrZXRwbGFjZS1tb2RlbC1lbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0JlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYmx1ZXByaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmx1ZXByaW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEJsdWVwcmludElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBibHVlcHJpbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGJsdWVwcmludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0JsdWVwcmludEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQmx1ZXByaW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBibHVlcHJpbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGN1c3RvbS1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0N1c3RvbU1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjdXN0b20tbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tDdXN0b21Nb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGN1c3RvbS1tb2RlbC1kZXBsb3ltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjdXN0b20tbW9kZWwtZGVwbG95bWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0N1c3RvbU1vZGVsRGVwbG95bWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuUHJvcHMge1xuXHQvKiogVGhlIERhdGFBdXRvbWF0aW9uTGlicmFyeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYXRhQXV0b21hdGlvbkxpYnJhcnlJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEYXRhQXV0b21hdGlvbkxpYnJhcnlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhdGFBdXRvbWF0aW9uTGlicmFyeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEluZ2VzdGlvbkpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbmdlc3Rpb25Kb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEluZ2VzdGlvbkpvYklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW5nZXN0aW9uSm9iSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtYXV0b21hdGlvbi1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIFByb2ZpbGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvZmlsZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb2ZpbGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb2ZpbGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1hdXRvbWF0aW9uLXByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2plY3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvamVjdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9qZWN0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvamVjdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvamVjdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvamVjdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkZWZhdWx0LXByb21wdC1yb3V0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEZWZhdWx0UHJvbXB0Um91dGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkZWZhdWx0LXByb21wdC1yb3V0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEZWZhdWx0UHJvbXB0Um91dGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXZhbHVhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tFdmFsdWF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBldmFsdWF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0V2YWx1YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmbG93IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRmxvd0FyblByb3BzIHtcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZsb3cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZsb3ctYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93QWxpYXNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRmxvd0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93SWQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93QWxpYXNJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0FsaWFzSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBmbG93LWFsaWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRmxvd0FsaWFzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93SWQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93QWxpYXNJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dBbGlhc0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmbG93LWV4ZWN1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0Zsb3dFeGVjdXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRmxvd0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93SWQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93QWxpYXNJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0FsaWFzSWQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93RXhlY3V0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dFeGVjdXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZsb3ctZXhlY3V0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRmxvd0V4ZWN1dGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0lkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0FsaWFzSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93QWxpYXNJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dFeGVjdXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dFeGVjdXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZm91bmRhdGlvbi1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0ZvdW5kYXRpb25Nb2RlbEFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZm91bmRhdGlvbi1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0ZvdW5kYXRpb25Nb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGd1YXJkcmFpbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0d1YXJkcmFpbEFyblByb3BzIHtcblx0LyoqIFRoZSBHdWFyZHJhaWxJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZ3VhcmRyYWlsSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBndWFyZHJhaWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tHdWFyZHJhaWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEd1YXJkcmFpbElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZ3VhcmRyYWlsSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGd1YXJkcmFpbC1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrR3VhcmRyYWlsUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZ3VhcmRyYWlsLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tHdWFyZHJhaWxQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW1wb3J0ZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tJbXBvcnRlZE1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbXBvcnRlZC1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0ltcG9ydGVkTW9kZWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbmZlcmVuY2UtcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0luZmVyZW5jZVByb2ZpbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGluZmVyZW5jZS1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrSW5mZXJlbmNlUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGtub3dsZWRnZS1iYXNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrS25vd2xlZGdlQmFzZUFyblByb3BzIHtcblx0LyoqIFRoZSBLbm93bGVkZ2VCYXNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGtub3dsZWRnZUJhc2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGtub3dsZWRnZS1iYXNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrS25vd2xlZGdlQmFzZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgS25vd2xlZGdlQmFzZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkga25vd2xlZGdlQmFzZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1jb3B5LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsQ29weUpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtY29weS1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbENvcHlKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsQ3VzdG9taXphdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtY3VzdG9taXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1ldmFsdWF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsRXZhbHVhdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtZXZhbHVhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEV2YWx1YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1pbXBvcnQtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxJbXBvcnRKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWltcG9ydC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEltcG9ydEpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWludm9jYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxJbnZvY2F0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1pbnZvY2F0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsSW52b2NhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9qZWN0QXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcm9qZWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvamVjdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb21wdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdEFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9tcHRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvbXB0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcm9tcHQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9tcHRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb21wdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvbXB0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb21wdC1yb3V0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9tcHRSb3V0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb21wdC1yb3V0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9tcHRSb3V0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcm9tcHQtdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdFZlcnNpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvbXB0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb21wdElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvbXB0VmVyc2lvbiBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvbXB0VmVyc2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb21wdC12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvbXB0VmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvbXB0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9tcHRJZDogc3RyaW5nO1xuXHQvKiogVGhlIFByb21wdFZlcnNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9tcHRWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcm92aXNpb25lZC1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb3Zpc2lvbmVkTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb3Zpc2lvbmVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvdmlzaW9uZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlc3Npb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tTZXNzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFNlc3Npb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2Vzc2lvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2Vzc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Nlc3Npb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlc3Npb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlc3Npb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc3lzdGVtLXRvb2wgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tTeXN0ZW1Ub29sQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHN5c3RlbS10b29sIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrU3lzdGVtVG9vbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYlxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEFnZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2VudFxcLyg/PGFnZW50SWQ+W146Lz9dKykkLztcbmNvbnN0IEFnZW50QWxpYXNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50LWFsaWFzXFwvKD88YWdlbnRJZD5bXjovP10rKVxcLyg/PGFnZW50QWxpYXNJZD5bXjovP10rKSQvO1xuY29uc3QgQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZVxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEFzeW5jSW52b2tlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphc3luYy1pbnZva2VcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5XFwvKD88YXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ+W146Lz9dKykkLztcbmNvbnN0IEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5XFwvKD88YXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ+W146Lz9dKyk6KD88YXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbj5bXjovP10rKSQvO1xuY29uc3QgQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWFya2V0cGxhY2VcXC9tb2RlbC1lbmRwb2ludFxcL2FsbC1hY2Nlc3MkLztcbmNvbnN0IEJsdWVwcmludEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Ymx1ZXByaW50XFwvKD88Ymx1ZXByaW50SWQ+W146Lz9dKykkLztcbmNvbnN0IEJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmJsdWVwcmludC1vcHRpbWl6YXRpb24taW52b2NhdGlvblxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEN1c3RvbU1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjdXN0b20tbW9kZWxcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmN1c3RvbS1tb2RlbC1kZXBsb3ltZW50XFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvblxcLyg/PGpvYklkPlteOi8/XSspJC87XG5jb25zdCBEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtYXV0b21hdGlvbi1saWJyYXJ5XFwvKD88ZGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYlxcLyg/PGluZ2VzdGlvbkpvYklkPlteOi8/XSspJC87XG5jb25zdCBEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtYXV0b21hdGlvbi1wcm9maWxlXFwvKD88cHJvZmlsZUlkPlteOi8/XSspJC87XG5jb25zdCBEYXRhQXV0b21hdGlvblByb2plY3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtYXV0b21hdGlvbi1wcm9qZWN0XFwvKD88cHJvamVjdElkPlteOi8/XSspJC87XG5jb25zdCBEZWZhdWx0UHJvbXB0Um91dGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkZWZhdWx0LXByb21wdC1yb3V0ZXJcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBFdmFsdWF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpldmFsdWF0aW9uLWpvYlxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEZsb3dBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmZsb3dcXC8oPzxmbG93SWQ+W146Lz9dKykkLztcbmNvbnN0IEZsb3dBbGlhc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmxvd1xcLyg/PGZsb3dJZD5bXjovP10rKVxcL2FsaWFzXFwvKD88Zmxvd0FsaWFzSWQ+W146Lz9dKykkLztcbmNvbnN0IEZsb3dFeGVjdXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmZsb3dcXC8oPzxmbG93SWQ+W146Lz9dKylcXC9hbGlhc1xcLyg/PGZsb3dBbGlhc0lkPlteOi8/XSspXFwvZXhlY3V0aW9uXFwvKD88Zmxvd0V4ZWN1dGlvbklkPlteOi8/XSspJC87XG5jb25zdCBGb3VuZGF0aW9uTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOjpmb3VuZGF0aW9uLW1vZGVsXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgR3VhcmRyYWlsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpndWFyZHJhaWxcXC8oPzxndWFyZHJhaWxJZD5bXjovP10rKSQvO1xuY29uc3QgR3VhcmRyYWlsUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Z3VhcmRyYWlsLXByb2ZpbGVcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBJbXBvcnRlZE1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbXBvcnRlZC1tb2RlbFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEluZmVyZW5jZVByb2ZpbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmluZmVyZW5jZS1wcm9maWxlXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgS25vd2xlZGdlQmFzZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6a25vd2xlZGdlLWJhc2VcXC8oPzxrbm93bGVkZ2VCYXNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQ29weUpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtY29weS1qb2JcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWN1c3RvbWl6YXRpb24tam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxFdmFsdWF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1ldmFsdWF0aW9uLWpvYlxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsSW1wb3J0Sm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1pbXBvcnQtam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxJbnZvY2F0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1pbnZvY2F0aW9uLWpvYlxcLyg/PGpvYklkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IFByb2plY3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb2plY3RcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBQcm9tcHRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb21wdFxcLyg/PHByb21wdElkPlteOi8/XSspJC87XG5jb25zdCBQcm9tcHRSb3V0ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb21wdC1yb3V0ZXJcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBQcm9tcHRWZXJzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm9tcHRcXC8oPzxwcm9tcHRJZD5bXjovP10rKTooPzxwcm9tcHRWZXJzaW9uPlteOi8/XSspJC87XG5jb25zdCBQcm92aXNpb25lZE1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm92aXNpb25lZC1tb2RlbFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFNlc3Npb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlc3Npb25cXC8oPzxzZXNzaW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFN5c3RlbVRvb2xBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazo6KD88YWNjb3VudD5bXjpdKik6c3lzdGVtLXRvb2xcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgYmVkcm9jayByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYihcblx0XHRwcm9wczogQmVkcm9ja0FkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYi8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWdlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWdlbnQocHJvcHM6IEJlZHJvY2tBZ2VudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFnZW50LyR7cHJvcHMuYWdlbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWdlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFnZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFnZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFnZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFnZW50QXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0FnZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZ2VudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhZ2VudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhZ2VudElkOiBtYXRjaC5ncm91cHMhLmFnZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWdlbnQtYWxpYXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWdlbnRBbGlhcyhwcm9wczogQmVkcm9ja0FnZW50QWxpYXNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZ2VudC1hbGlhcy8ke3Byb3BzLmFnZW50SWR9LyR7cHJvcHMuYWdlbnRBbGlhc0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhZ2VudC1hbGlhcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWdlbnRBbGlhc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBZ2VudEFsaWFzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFnZW50LWFsaWFzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFnZW50QWxpYXNBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQWdlbnRBbGlhc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWdlbnRBbGlhc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhZ2VudC1hbGlhcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhZ2VudElkOiBtYXRjaC5ncm91cHMhLmFnZW50SWQsXG5cdFx0XHRhZ2VudEFsaWFzSWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRBbGlhc0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZShcblx0XHRwcm9wczogQmVkcm9ja0FwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGUvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXN5bmMtaW52b2tlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFzeW5jSW52b2tlKHByb3BzOiBCZWRyb2NrQXN5bmNJbnZva2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphc3luYy1pbnZva2UvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhc3luYy1pbnZva2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFzeW5jSW52b2tlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFzeW5jSW52b2tlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFzeW5jLWludm9rZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBc3luY0ludm9rZUFybihhcm46IHN0cmluZyk6IEJlZHJvY2tBc3luY0ludm9rZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXN5bmNJbnZva2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXN5bmMtaW52b2tlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3koXG5cdFx0cHJvcHM6IEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LyR7cHJvcHMuYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkOiBtYXRjaC5ncm91cHMhLmF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LXZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbihcblx0XHRwcm9wczogQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LyR7cHJvcHMuYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWR9OiR7cHJvcHMuYXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LXZlcnNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZDogbWF0Y2guZ3JvdXBzIS5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZCxcblx0XHRcdGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb246XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEuYXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBiZWRyb2NrLW1hcmtldHBsYWNlLW1vZGVsLWVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQoXG5cdFx0cHJvcHM6IEJlZHJvY2tCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptYXJrZXRwbGFjZS9tb2RlbC1lbmRwb2ludC9hbGwtYWNjZXNzYDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGJlZHJvY2stbWFya2V0cGxhY2UtbW9kZWwtZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBiZWRyb2NrLW1hcmtldHBsYWNlLW1vZGVsLWVuZHBvaW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJlZHJvY2stbWFya2V0cGxhY2UtbW9kZWwtZW5kcG9pbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJsdWVwcmludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBibHVlcHJpbnQocHJvcHM6IEJlZHJvY2tCbHVlcHJpbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpibHVlcHJpbnQvJHtwcm9wcy5ibHVlcHJpbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYmx1ZXByaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCbHVlcHJpbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQmx1ZXByaW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGJsdWVwcmludCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCbHVlcHJpbnRBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQmx1ZXByaW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCbHVlcHJpbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYmx1ZXByaW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGJsdWVwcmludElkOiBtYXRjaC5ncm91cHMhLmJsdWVwcmludElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJsdWVwcmludC1vcHRpbWl6YXRpb24taW52b2NhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBibHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uKFxuXHRcdHByb3BzOiBCZWRyb2NrQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Ymx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJsdWVwcmludC1vcHRpbWl6YXRpb24taW52b2NhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY3VzdG9tLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGN1c3RvbU1vZGVsKHByb3BzOiBCZWRyb2NrQ3VzdG9tTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjdXN0b20tbW9kZWwvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjdXN0b20tbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEN1c3RvbU1vZGVsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEN1c3RvbU1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGN1c3RvbS1tb2RlbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDdXN0b21Nb2RlbEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tDdXN0b21Nb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ3VzdG9tTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY3VzdG9tLW1vZGVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjdXN0b20tbW9kZWwtZGVwbG95bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjdXN0b21Nb2RlbERlcGxveW1lbnQoXG5cdFx0cHJvcHM6IEJlZHJvY2tDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmN1c3RvbS1tb2RlbC1kZXBsb3ltZW50LyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY3VzdG9tLW1vZGVsLWRlcGxveW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEN1c3RvbU1vZGVsRGVwbG95bWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY3VzdG9tLW1vZGVsLWRlcGxveW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY3VzdG9tLW1vZGVsLWRlcGxveW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2IoXG5cdFx0cHJvcHM6IEJlZHJvY2tEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLyR7cHJvcHMuam9iSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFBdXRvbWF0aW9uTGlicmFyeShcblx0XHRwcm9wczogQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkvJHtwcm9wcy5kYXRhQXV0b21hdGlvbkxpYnJhcnlJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFBdXRvbWF0aW9uTGlicmFyeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQ6IG1hdGNoLmdyb3VwcyEuZGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IoXG5cdFx0cHJvcHM6IEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IvJHtwcm9wcy5pbmdlc3Rpb25Kb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgSW52YWxpZCBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIEFSTjogJHthcm59YCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGluZ2VzdGlvbkpvYklkOiBtYXRjaC5ncm91cHMhLmluZ2VzdGlvbkpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFBdXRvbWF0aW9uUHJvZmlsZShcblx0XHRwcm9wczogQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvZmlsZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUvJHtwcm9wcy5wcm9maWxlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhQXV0b21hdGlvblByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtYXV0b21hdGlvbi1wcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFBdXRvbWF0aW9uUHJvZmlsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhdGEtYXV0b21hdGlvbi1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb2ZpbGVJZDogbWF0Y2guZ3JvdXBzIS5wcm9maWxlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLXByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YUF1dG9tYXRpb25Qcm9qZWN0KFxuXHRcdHByb3BzOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLWF1dG9tYXRpb24tcHJvamVjdC8ke3Byb3BzLnByb2plY3RJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLXByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFBdXRvbWF0aW9uUHJvamVjdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhQXV0b21hdGlvblByb2plY3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGF0YS1hdXRvbWF0aW9uLXByb2plY3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhQXV0b21hdGlvblByb2plY3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YS1hdXRvbWF0aW9uLXByb2plY3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvamVjdElkOiBtYXRjaC5ncm91cHMhLnByb2plY3RJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkZWZhdWx0LXByb21wdC1yb3V0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGVmYXVsdFByb21wdFJvdXRlcihcblx0XHRwcm9wczogQmVkcm9ja0RlZmF1bHRQcm9tcHRSb3V0ZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRlZmF1bHQtcHJvbXB0LXJvdXRlci8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRlZmF1bHQtcHJvbXB0LXJvdXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGVmYXVsdFByb21wdFJvdXRlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEZWZhdWx0UHJvbXB0Um91dGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRlZmF1bHQtcHJvbXB0LXJvdXRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEZWZhdWx0UHJvbXB0Um91dGVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGVmYXVsdFByb21wdFJvdXRlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGVmYXVsdFByb21wdFJvdXRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZWZhdWx0LXByb21wdC1yb3V0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV2YWx1YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV2YWx1YXRpb25Kb2IocHJvcHM6IEJlZHJvY2tFdmFsdWF0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXZhbHVhdGlvbi1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBldmFsdWF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXZhbHVhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFdmFsdWF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV2YWx1YXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV2YWx1YXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrRXZhbHVhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXZhbHVhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBldmFsdWF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmxvdyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmbG93KHByb3BzOiBCZWRyb2NrRmxvd0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZsb3cvJHtwcm9wcy5mbG93SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZsb3cgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZsb3dBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmxvd0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmbG93IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZsb3dBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrRmxvd0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRmxvd0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmbG93IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZsb3dJZDogbWF0Y2guZ3JvdXBzIS5mbG93SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmxvdy1hbGlhcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmbG93QWxpYXMocHJvcHM6IEJlZHJvY2tGbG93QWxpYXNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpmbG93LyR7cHJvcHMuZmxvd0lkfS9hbGlhcy8ke3Byb3BzLmZsb3dBbGlhc0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmbG93LWFsaWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGbG93QWxpYXNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmxvd0FsaWFzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZsb3ctYWxpYXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmxvd0FsaWFzQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0Zsb3dBbGlhc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRmxvd0FsaWFzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZsb3ctYWxpYXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Zmxvd0lkOiBtYXRjaC5ncm91cHMhLmZsb3dJZCxcblx0XHRcdGZsb3dBbGlhc0lkOiBtYXRjaC5ncm91cHMhLmZsb3dBbGlhc0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGZsb3ctZXhlY3V0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZsb3dFeGVjdXRpb24ocHJvcHM6IEJlZHJvY2tGbG93RXhlY3V0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Zmxvdy8ke3Byb3BzLmZsb3dJZH0vYWxpYXMvJHtwcm9wcy5mbG93QWxpYXNJZH0vZXhlY3V0aW9uLyR7cHJvcHMuZmxvd0V4ZWN1dGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmbG93LWV4ZWN1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmxvd0V4ZWN1dGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGbG93RXhlY3V0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZsb3ctZXhlY3V0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZsb3dFeGVjdXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrRmxvd0V4ZWN1dGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRmxvd0V4ZWN1dGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmbG93LWV4ZWN1dGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRmbG93SWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0lkLFxuXHRcdFx0Zmxvd0FsaWFzSWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0FsaWFzSWQsXG5cdFx0XHRmbG93RXhlY3V0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0V4ZWN1dGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGZvdW5kYXRpb24tbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZm91bmRhdGlvbk1vZGVsKHByb3BzOiBCZWRyb2NrRm91bmRhdGlvbk1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9Ojpmb3VuZGF0aW9uLW1vZGVsLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZm91bmRhdGlvbi1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRm91bmRhdGlvbk1vZGVsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZvdW5kYXRpb25Nb2RlbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmb3VuZGF0aW9uLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZvdW5kYXRpb25Nb2RlbEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0ZvdW5kYXRpb25Nb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRm91bmRhdGlvbk1vZGVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZvdW5kYXRpb24tbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGd1YXJkcmFpbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBndWFyZHJhaWwocHJvcHM6IEJlZHJvY2tHdWFyZHJhaWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpndWFyZHJhaWwvJHtwcm9wcy5ndWFyZHJhaWxJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZ3VhcmRyYWlsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRHdWFyZHJhaWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gR3VhcmRyYWlsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGd1YXJkcmFpbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VHdWFyZHJhaWxBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrR3VhcmRyYWlsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBHdWFyZHJhaWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZ3VhcmRyYWlsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGd1YXJkcmFpbElkOiBtYXRjaC5ncm91cHMhLmd1YXJkcmFpbElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGd1YXJkcmFpbC1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGd1YXJkcmFpbFByb2ZpbGUocHJvcHM6IEJlZHJvY2tHdWFyZHJhaWxQcm9maWxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Z3VhcmRyYWlsLXByb2ZpbGUvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBndWFyZHJhaWwtcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkR3VhcmRyYWlsUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBHdWFyZHJhaWxQcm9maWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGd1YXJkcmFpbC1wcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUd1YXJkcmFpbFByb2ZpbGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tHdWFyZHJhaWxQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBHdWFyZHJhaWxQcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGd1YXJkcmFpbC1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbXBvcnRlZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbXBvcnRlZE1vZGVsKHByb3BzOiBCZWRyb2NrSW1wb3J0ZWRNb2RlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmltcG9ydGVkLW1vZGVsLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW1wb3J0ZWQtbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEltcG9ydGVkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW1wb3J0ZWRNb2RlbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbXBvcnRlZC1tb2RlbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbXBvcnRlZE1vZGVsQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0ltcG9ydGVkTW9kZWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEltcG9ydGVkTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW1wb3J0ZWQtbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGluZmVyZW5jZVByb2ZpbGUocHJvcHM6IEJlZHJvY2tJbmZlcmVuY2VQcm9maWxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW5mZXJlbmNlLXByb2ZpbGUvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW5mZXJlbmNlUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbmZlcmVuY2VQcm9maWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGluZmVyZW5jZS1wcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUluZmVyZW5jZVByb2ZpbGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tJbmZlcmVuY2VQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbmZlcmVuY2VQcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGluZmVyZW5jZS1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBrbm93bGVkZ2UtYmFzZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBrbm93bGVkZ2VCYXNlKHByb3BzOiBCZWRyb2NrS25vd2xlZGdlQmFzZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omtub3dsZWRnZS1iYXNlLyR7cHJvcHMua25vd2xlZGdlQmFzZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBrbm93bGVkZ2UtYmFzZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkS25vd2xlZGdlQmFzZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBLbm93bGVkZ2VCYXNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGtub3dsZWRnZS1iYXNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUtub3dsZWRnZUJhc2VBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrS25vd2xlZGdlQmFzZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gS25vd2xlZGdlQmFzZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBrbm93bGVkZ2UtYmFzZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRrbm93bGVkZ2VCYXNlSWQ6IG1hdGNoLmdyb3VwcyEua25vd2xlZGdlQmFzZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWNvcHktam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQ29weUpvYihwcm9wczogQmVkcm9ja01vZGVsQ29weUpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWNvcHktam9iLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtY29weS1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQ29weUpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbENvcHlKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtY29weS1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxDb3B5Sm9iQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja01vZGVsQ29weUpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxDb3B5Sm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWNvcHktam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEN1c3RvbWl6YXRpb25Kb2IoXG5cdFx0cHJvcHM6IEJlZHJvY2tNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWN1c3RvbWl6YXRpb24tam9iLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtY3VzdG9taXphdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQ3VzdG9taXphdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtY3VzdG9taXphdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtY3VzdG9taXphdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWV2YWx1YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsRXZhbHVhdGlvbkpvYihwcm9wczogQmVkcm9ja01vZGVsRXZhbHVhdGlvbkpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWV2YWx1YXRpb24tam9iLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtZXZhbHVhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsRXZhbHVhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEV2YWx1YXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtZXZhbHVhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxFdmFsdWF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrTW9kZWxFdmFsdWF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEV2YWx1YXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtZXZhbHVhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWltcG9ydC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxJbXBvcnRKb2IocHJvcHM6IEJlZHJvY2tNb2RlbEltcG9ydEpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWltcG9ydC1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1pbXBvcnQtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEltcG9ydEpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEltcG9ydEpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1pbXBvcnQtam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsSW1wb3J0Sm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrTW9kZWxJbXBvcnRKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsSW1wb3J0Sm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWltcG9ydC1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWludm9jYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsSW52b2NhdGlvbkpvYihwcm9wczogQmVkcm9ja01vZGVsSW52b2NhdGlvbkpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWludm9jYXRpb24tam9iLyR7cHJvcHMuam9iSWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtaW52b2NhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsSW52b2NhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEludm9jYXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtaW52b2NhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxJbnZvY2F0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrTW9kZWxJbnZvY2F0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEludm9jYXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtaW52b2NhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5qb2JJZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvamVjdChwcm9wczogQmVkcm9ja1Byb2plY3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9qZWN0LyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvamVjdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9qZWN0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb2plY3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvamVjdEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tQcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9qZWN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb2plY3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb21wdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHQocHJvcHM6IEJlZHJvY2tQcm9tcHRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9tcHQvJHtwcm9wcy5wcm9tcHRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvbXB0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9tcHRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvbXB0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb21wdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9tcHRBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrUHJvbXB0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9tcHRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvbXB0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb21wdElkOiBtYXRjaC5ncm91cHMhLnByb21wdElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb21wdC1yb3V0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvbXB0Um91dGVyKHByb3BzOiBCZWRyb2NrUHJvbXB0Um91dGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvbXB0LXJvdXRlci8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb21wdC1yb3V0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb21wdFJvdXRlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9tcHRSb3V0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvbXB0LXJvdXRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9tcHRSb3V0ZXJBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrUHJvbXB0Um91dGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9tcHRSb3V0ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvbXB0LXJvdXRlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvbXB0LXZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvbXB0VmVyc2lvbihwcm9wczogQmVkcm9ja1Byb21wdFZlcnNpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9tcHQvJHtwcm9wcy5wcm9tcHRJZH06JHtwcm9wcy5wcm9tcHRWZXJzaW9ufWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9tcHQtdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvbXB0VmVyc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9tcHRWZXJzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb21wdC12ZXJzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb21wdFZlcnNpb25Bcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrUHJvbXB0VmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvbXB0VmVyc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9tcHQtdmVyc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9tcHRJZDogbWF0Y2guZ3JvdXBzIS5wcm9tcHRJZCxcblx0XHRcdHByb21wdFZlcnNpb246IG1hdGNoLmdyb3VwcyEucHJvbXB0VmVyc2lvbixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm92aXNpb25lZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm92aXNpb25lZE1vZGVsKHByb3BzOiBCZWRyb2NrUHJvdmlzaW9uZWRNb2RlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb3Zpc2lvbmVkLW1vZGVsLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvdmlzaW9uZWQtbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb3Zpc2lvbmVkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvdmlzaW9uZWRNb2RlbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcm92aXNpb25lZC1tb2RlbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm92aXNpb25lZE1vZGVsQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrUHJvdmlzaW9uZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvdmlzaW9uZWRNb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm92aXNpb25lZC1tb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2Vzc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXNzaW9uKHByb3BzOiBCZWRyb2NrU2Vzc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlc3Npb24vJHtwcm9wcy5zZXNzaW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlc3Npb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlc3Npb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2Vzc2lvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXNzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlc3Npb25Bcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrU2Vzc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2Vzc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXNzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlc3Npb25JZDogbWF0Y2guZ3JvdXBzIS5zZXNzaW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc3lzdGVtLXRvb2wgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc3lzdGVtVG9vbChwcm9wczogQmVkcm9ja1N5c3RlbVRvb2xBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazo6JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzeXN0ZW0tdG9vbC8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHN5c3RlbS10b29sIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTeXN0ZW1Ub29sQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFN5c3RlbVRvb2xBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc3lzdGVtLXRvb2wgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU3lzdGVtVG9vbEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tTeXN0ZW1Ub29sQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTeXN0ZW1Ub29sQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN5c3RlbS10b29sIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBiZWRyb2NrLlxuICovXG5leHBvcnQgY2xhc3MgQmVkcm9ja09wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZ2VudGljUmV0cmlldmVTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZ2VudGljUmV0cmlldmVTdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBZ2VudGljUmV0cmlldmVTdHJlYW1cIixcblx0XHRcImJlZHJvY2s6UmV0cmlldmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXBwbHlHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBcHBseUd1YXJkcmFpbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFwcGx5R3VhcmRyYWlsXCIsXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpCYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2hlY2tJbmdlc3RlZERvY3VtZW50QWNsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2hlY2tJbmdlc3RlZERvY3VtZW50QWNsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2hlY2tJbmdlc3RlZERvY3VtZW50QWNsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbnZlcnNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29udmVyc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBcHBseUd1YXJkcmFpbFwiLFxuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZU1vZGVsXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZVRvb2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29udmVyc2VTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb252ZXJzZVN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFwcGx5R3VhcmRyYWlsXCIsXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW1cIixcblx0XHRcImJlZHJvY2s6SW52b2tlVG9vbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb3B5Qmx1ZXByaW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5Qmx1ZXByaW50U3RhZ2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpDb3B5Qmx1ZXByaW50U3RhZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvdW50VG9rZW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ291bnRUb2tlbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNvdW50VG9rZW5zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVBZ2VudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFnZW50QWN0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFjdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlQWdlbnRBY3Rpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBZ2VudEFsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUFnZW50QWxpYXNcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25cIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQmx1ZXByaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlQmx1ZXByaW50XCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJsdWVwcmludFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCbHVlcHJpbnRWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlQmx1ZXByaW50VmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDdXN0b21Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbU1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVDdXN0b21Nb2RlbFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50XCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYXRhQXV0b21hdGlvblByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhQXV0b21hdGlvblByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVEYXRhQXV0b21hdGlvblByb2plY3RcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGF0YVNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFTb3VyY2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpDcmVhdGVEYXRhU291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFdmFsdWF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZhbHVhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlRXZhbHVhdGlvbkpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUZsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlRmxvd1wiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUZsb3dBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dBbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUZsb3dBbGlhc1wiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGbG93VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6Q3JlYXRlRmxvd1ZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUd1YXJkcmFpbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUd1YXJkcmFpbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlR3VhcmRyYWlsXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUd1YXJkcmFpbFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWxWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVHdWFyZHJhaWxWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUluZmVyZW5jZVByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVJbmZlcmVuY2VQcm9maWxlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUludm9jYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnZvY2F0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6Q3JlYXRlSW52b2NhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlS25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUtub3dsZWRnZUJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZVwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbENvcHlKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENvcHlKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1vZGVsQ29weUpvYlwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsSW1wb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1vZGVsSW1wb3J0Sm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVQcm9tcHRcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvbXB0Um91dGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvbXB0Um91dGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVQcm9tcHRSb3V0ZXJcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvbXB0VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVQcm9tcHRWZXJzaW9uXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXNzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlU2Vzc2lvblwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50QWN0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudEFjdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlQWdlbnRBY3Rpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBZ2VudEFsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRBbGlhczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZUFnZW50QWxpYXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50TWVtb3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRNZW1vcnk6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVBZ2VudE1lbW9yeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlQWdlbnRWZXJzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUJsdWVwcmludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJsdWVwcmludDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZUJsdWVwcmludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ3VzdG9tTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21Nb2RlbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlQ3VzdG9tTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFBdXRvbWF0aW9uUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYXRhU291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZURhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvdzogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZUZsb3dcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZsb3dBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dBbGlhczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZUZsb3dBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93VmVyc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZUZsb3dWZXJzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlR3VhcmRyYWlsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR3VhcmRyYWlsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVHdWFyZHJhaWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW1wb3J0ZWRNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltcG9ydGVkTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUltcG9ydGVkTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW5mZXJlbmNlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZVByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUluZmVyZW5jZVByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlS25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtub3dsZWRnZUJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVLbm93bGVkZ2VCYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXNzb2NpYXRlVGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VcIixcblx0XHRcImJlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRcdFwiYmVkcm9jazpTdGFydEluZ2VzdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvbXB0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvbXB0OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlUHJvbXB0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9tcHRSb3V0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9tcHRSb3V0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZVByb21wdFJvdXRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XHRcImJlZHJvY2s6UHV0UmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlc3Npb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5kU2Vzc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkVuZFNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpFeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdlbmVyYXRlUXVlcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZVF1ZXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2VuZXJhdGVRdWVyeVwiLFxuXHRcdFwiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFjY291bnREYXRhUmV0ZW50aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBY2NvdW50RGF0YVJldGVudGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0QWNjb3VudERhdGFSZXRlbnRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0QWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50QWN0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50QWxpYXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRBZ2VudEFsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudENvbGxhYm9yYXRvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRDb2xsYWJvcmF0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBZ2VudENvbGxhYm9yYXRvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudEtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudE1lbW9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRNZW1vcnk6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRBZ2VudE1lbW9yeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnRWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudFZlcnNpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRBZ2VudFZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFzeW5jSW52b2tlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBc3luY0ludm9rZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0QXN5bmNJbnZva2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lOZXh0U2NlbmFyaW8gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpbzogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpb1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCbHVlcHJpbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJsdWVwcmludDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEJsdWVwcmludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Qmx1ZXByaW50T3B0aW1pemF0aW9uU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q3VzdG9tTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEN1c3RvbU1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRDdXN0b21Nb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDdXN0b21Nb2RlbERlcGxveW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEN1c3RvbU1vZGVsRGVwbG95bWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uTGlicmFyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvblN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFTb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERhdGFTb3VyY2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXREYXRhU291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREb2N1bWVudENvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvY3VtZW50Q29udGVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldERvY3VtZW50Q29udGVudFwiLFxuXHRcdFwiYmVkcm9jazpSZXRyaWV2ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFdmFsdWF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFdmFsdWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0RXZhbHVhdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RXhlY3V0aW9uRmxvd1NuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFeGVjdXRpb25GbG93U25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRFeGVjdXRpb25GbG93U25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rmxvdzogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEZsb3dcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZsb3dBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRGbG93RXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGbG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd0V4ZWN1dGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Rmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZsb3dWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd1ZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZvdW5kYXRpb25Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rm91bmRhdGlvbk1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbEF2YWlsYWJpbGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEd1YXJkcmFpbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0R3VhcmRyYWlsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEltcG9ydGVkTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEltcG9ydGVkTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEltcG9ydGVkTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5mZXJlbmNlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW5mZXJlbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0SW5mZXJlbmNlUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbmdlc3RlZERvY3VtZW50QWNsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbmdlc3RlZERvY3VtZW50QWNsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0SW5nZXN0ZWREb2N1bWVudEFjbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluZ2VzdGlvbkpvYjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEluZ2VzdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW52b2NhdGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludm9jYXRpb25TdGVwOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0SW52b2NhdGlvblN0ZXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEtub3dsZWRnZUJhc2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1vZGVsQ29weUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxDb3B5Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbENvcHlKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxDdXN0b21pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNb2RlbEltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsSW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxJbnZvY2F0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldFByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UHJvbXB0Um91dGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9tcHRSb3V0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFByb21wdFJvdXRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldFJlc291cmNlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0U2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXNlQ2FzZUZvck1vZGVsQWNjZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFVzZUNhc2VGb3JNb2RlbEFjY2Vzc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJiZWRyb2NrOkluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHNcIixcblx0XHRcImJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBZ2VudDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkludm9rZUFnZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmNcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRGF0YUF1dG9tYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25Bc3luY1wiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpJbnZva2VGbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VHdWFyZHJhaWxDaGVja3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VHdWFyZHJhaWxDaGVja3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUd1YXJkcmFpbENoZWNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VJbmxpbmVBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUlubGluZUFnZW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6SW52b2tlSW5saW5lQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBcHBseUd1YXJkcmFpbFwiLFxuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZU1vZGVsXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZVRvb2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlTW9kZWxXaXRoQmlkaXJlY3Rpb25hbFN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aEJpZGlyZWN0aW9uYWxTdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbVwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VUb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudEFjdGlvbkdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEFjdGlvbkdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBZ2VudEFjdGlvbkdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRBbGlhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50QWxpYXNlczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudEFsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudENvbGxhYm9yYXRvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRDb2xsYWJvcmF0b3JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEFnZW50Q29sbGFib3JhdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEtub3dsZWRnZUJhc2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEFnZW50S25vd2xlZGdlQmFzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFnZW50VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRWZXJzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudFZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBc3luY0ludm9rZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXN5bmNJbnZva2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QXN5bmNJbnZva2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJsdWVwcmludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qmx1ZXByaW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RCbHVlcHJpbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Nb2RlbERlcGxveW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbU1vZGVsczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YUF1dG9tYXRpb25Qcm9qZWN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvblByb2plY3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFTb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFTb3VyY2VzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdERhdGFTb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2YWx1YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2YWx1YXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEV2YWx1YXRpb25Kb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0FsaWFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0FsaWFzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0Rmxvd0FsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93RXhlY3V0aW9uRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dFeGVjdXRpb25FdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0V4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0V4ZWN1dGlvbnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd1ZlcnNpb25zOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEZsb3dWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZsb3dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEZsb3dzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rm91bmRhdGlvbk1vZGVscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGb3VuZGF0aW9uTW9kZWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R3VhcmRyYWlscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHdWFyZHJhaWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0R3VhcmRyYWlsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1wb3J0ZWRNb2RlbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0ZWRNb2RlbHM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW1wb3J0ZWRNb2RlbHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VQcm9maWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VQcm9maWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEluZmVyZW5jZVByb2ZpbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmdlc3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZ2VzdGlvbkpvYnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW5nZXN0aW9uSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEludm9jYXRpb25TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZvY2F0aW9uU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0SW52b2NhdGlvblN0ZXBzXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RJbnZvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW52b2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52b2NhdGlvbnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW52b2NhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0S25vd2xlZGdlQmFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S25vd2xlZGdlQmFzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbENvcHlKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ29weUpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbENvcHlKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEltcG9ydEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxJbXBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdE1vZGVsSW1wb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxJbnZvY2F0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEludm9jYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0TW9kZWxJbnZvY2F0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvbXB0Um91dGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRSb3V0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0UHJvbXB0Um91dGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvbXB0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdFByb21wdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXNzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RTZXNzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgT3B0aW1pemVQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBPcHRpbWl6ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOk9wdGltaXplUHJvbXB0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQcmVwYXJlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQcmVwYXJlQWdlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQcmVwYXJlQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFByZXBhcmVGbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJlcGFyZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQcmVwYXJlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0QWNjb3VudERhdGFSZXRlbnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50RGF0YVJldGVudGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6UHV0QWNjb3VudERhdGFSZXRlbnRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6UHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEludm9jYXRpb25TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW52b2NhdGlvblN0ZXA6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQdXRJbnZvY2F0aW9uU3RlcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6UHV0UmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFVzZUNhc2VGb3JNb2RlbEFjY2VzcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFVzZUNhc2VGb3JNb2RlbEFjY2Vzczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6UHV0VXNlQ2FzZUZvck1vZGVsQWNjZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXJhbmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXJhbms6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpSZXJhbmtcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJpZXZlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmU6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpSZXRyaWV2ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmV0cmlldmVBbmRHZW5lcmF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJpZXZlQW5kR2VuZXJhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpSZXRyaWV2ZUFuZEdlbmVyYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJpZXZlQW5kR2VuZXJhdGVTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZUFuZEdlbmVyYXRlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6UmV0cmlldmVBbmRHZW5lcmF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEFzeW5jSW52b2tlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBc3luY0ludm9rZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRcdFwiYmVkcm9jazpTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZsb3dFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZsb3dFeGVjdXRpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpTdGFydEZsb3dFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0SW5nZXN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZVwiLFxuXHRcdFwiYmVkcm9jazpTdGFydEluZ2VzdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRXZhbHVhdGlvbkpvYjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlN0b3BFdmFsdWF0aW9uSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRmxvd0V4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BGbG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6U3RvcEZsb3dFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5nZXN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6U3RvcEluZ2VzdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEludm9jYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVudGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlQWdlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpVcGRhdGVBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEFsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6VXBkYXRlQWdlbnRBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJsdWVwcmludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJsdWVwcmludDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZUJsdWVwcmludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpVcGRhdGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEYXRhU291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZURhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGbG93OiBzdHJpbmdbXSA9IFtcImlhbTpQYXNzUm9sZVwiLCBcImJlZHJvY2s6VXBkYXRlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmxvd0FsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6VXBkYXRlRmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHdWFyZHJhaWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUd1YXJkcmFpbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlS25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlS25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb21wdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZVByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6VXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlc3Npb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpVcGRhdGVTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBWYWxpZGF0ZUZsb3dEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmFsaWRhdGVGbG93RGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlZhbGlkYXRlRmxvd0RlZmluaXRpb25cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGJlZHJvY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNyZWRlbnRpYWxzU2VjcmV0QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYWxsV2l0aEJlYXJlclRva2VuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFnZW50QWN0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnRBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFsaWFzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVCbHVlcHJpbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDdXN0b21Nb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXZhbHVhdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmFsdWF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGbG93IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZsb3dBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93QWxpYXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUd1YXJkcmFpbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZVByb2ZpbGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlS25vd2xlZGdlQmFzZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLbm93bGVkZ2VCYXNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbENvcHlKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDb3B5Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEltcG9ydEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEltcG9ydEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0Um91dGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFJvdXRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0VmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2Vzc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luY0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlRGF0YUF1dG9tYXRpb25Bc3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLCBcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlSW5saW5lQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlSW5saW5lQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW5saW5lQWdlbnROYW1lXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VNb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VNb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyXCIsXG5cdFx0XCJiZWRyb2NrOkluZmVyZW5jZVByb2ZpbGVBcm5cIixcblx0XHRcImJlZHJvY2s6TW9kZWxBcm5cIixcblx0XHRcImJlZHJvY2s6UHJvamVjdEFyblwiLFxuXHRcdFwiYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm5cIixcblx0XHRcImJlZHJvY2s6U2VydmljZVRpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkd1YXJkcmFpbElkZW50aWZpZXJcIixcblx0XHRcImJlZHJvY2s6SW5mZXJlbmNlUHJvZmlsZUFyblwiLFxuXHRcdFwiYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm5cIixcblx0XHRcImJlZHJvY2s6U2VydmljZVRpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEFjY291bnREYXRhUmV0ZW50aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnREYXRhUmV0ZW50aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRhdGFSZXRlbnRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpCZWFyZXJUb2tlblR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJFQVJFUl9UT0tFTl9UWVBFID0gXCJiZWRyb2NrOkJlYXJlclRva2VuVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFUQV9SRVRFTlRJT05fTU9ERSA9IFwiYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBHVUFSRFJBSUxfSURFTlRJRklFUiA9IFwiYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOkluZmVyZW5jZVByb2ZpbGVBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElORkVSRU5DRV9QUk9GSUxFX0FSTiA9IFwiYmVkcm9jazpJbmZlcmVuY2VQcm9maWxlQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOklubGluZUFnZW50TmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5MSU5FX0FHRU5UX05BTUUgPSBcImJlZHJvY2s6SW5saW5lQWdlbnROYW1lXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOk1vZGVsQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9BUk4gPSBcImJlZHJvY2s6TW9kZWxBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2s6UHJvamVjdEFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPSkVDVF9BUk4gPSBcImJlZHJvY2s6UHJvamVjdEFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBST01QVF9ST1VURVJfQVJOID0gXCJiZWRyb2NrOlByb21wdFJvdXRlckFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpTZXJ2aWNlVGllciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9USUVSID0gXCJiZWRyb2NrOlNlcnZpY2VUaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOlRoaXJkUGFydHlLbm93bGVkZ2VCYXNlQ3JlZGVudGlhbHNTZWNyZXRBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRISVJEX1BBUlRZX0tOT1dMRURHRV9CQVNFX0NSRURFTlRJQUxTX1NFQ1JFVF9BUk4gPVxuXHRcdFwiYmVkcm9jazpUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNyZWRlbnRpYWxzU2VjcmV0QXJuXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBiZWFyZXJUb2tlblR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOkRhdGFSZXRlbnRpb25Nb2RlYC5cblx0ICovXG5cdHN0YXRpYyBkYXRhUmV0ZW50aW9uTW9kZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyYC5cblx0ICovXG5cdHN0YXRpYyBndWFyZHJhaWxJZGVudGlmaWVyKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOkd1YXJkcmFpbElkZW50aWZpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6SW5mZXJlbmNlUHJvZmlsZUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlUHJvZmlsZUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiYmVkcm9jazpJbmZlcmVuY2VQcm9maWxlQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOklubGluZUFnZW50TmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgaW5saW5lQWdlbnROYW1lKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrOklubGluZUFnZW50TmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jazpNb2RlbEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOk1vZGVsQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOlByb2plY3RBcm5gLlxuXHQgKi9cblx0c3RhdGljIHByb2plY3RBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOlByb2plY3RBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6UHJvbXB0Um91dGVyQXJuYC5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHRSb3V0ZXJBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImJlZHJvY2s6UHJvbXB0Um91dGVyQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOlNlcnZpY2VUaWVyYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlVGllcih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2s6U2VydmljZVRpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6VGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgdGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdEFybkVxdWFsczoge1xuXHRcdFx0XHRcImJlZHJvY2s6VGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFyblwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxufVxuIl19