julia-intellij
julia-intellij copied to clipboard
[auto-generated:1246519348] null
- Julia Version: 1.7.3
- Plugin Name: Julia
- Plugin Version: 0.4.2
- OS Name: Windows 10
- Java Version: 17.0.4.1
- App Name: IDEA
- App Full Name: IntelliJ IDEA
- App Version name: IntelliJ IDEA
- Is EAP: false
- App Build: IC-222.4345.14
- App Version: 2022.2.3
- Last Action: Unknown
- title: [auto-generated:1246519348] null
Full StackTrace
com.intellij.diagnostic.PluginException: The default implementation of method 'getId' is deprecated, you need to override it in 'class org.ice1000.julia.lang.execution.JuliaRunConfigurationFactory'. The default implementation delegates to 'getName' which may be localized, but return value of this method must not depend on current localization. [Plugin: org.ice1000.julia]
at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:23)
at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:83)
at com.intellij.diagnostic.PluginException.reportDeprecatedDefault(PluginException.java:110)
at com.intellij.execution.configurations.ConfigurationFactory.getId(ConfigurationFactory.java:75)
at com.intellij.execution.impl.RunManagerImplKt.getFactoryKey(RunManagerImpl.kt:1401)
at com.intellij.execution.impl.RunManagerImplKt.access$getFactoryKey(RunManagerImpl.kt:1)
at com.intellij.execution.impl.RunManagerImpl.getConfigurationTemplate(RunManagerImpl.kt:344)
at com.intellij.execution.impl.RunManagerImpl.createConfiguration(RunManagerImpl.kt:272)
at com.intellij.execution.actions.RunConfigurationProducer.cloneTemplateConfigurationStatic(RunConfigurationProducer.java:257)
at com.intellij.execution.actions.RunConfigurationProducer.cloneTemplateConfiguration(RunConfigurationProducer.java:247)
at com.intellij.execution.actions.RunConfigurationProducer.createConfigurationFromContext(RunConfigurationProducer.java:96)
at com.intellij.execution.actions.RunConfigurationProducer.findOrCreateConfigurationFromContext(RunConfigurationProducer.java:197)
at com.intellij.execution.actions.PreferredProducerFind.doGetConfigurationsFromContext(PreferredProducerFind.java:118)
at com.intellij.execution.actions.PreferredProducerFind.getConfigurationsFromContext(PreferredProducerFind.java:100)
at com.intellij.execution.actions.ConfigurationContext.getConfigurationsFromContext(ConfigurationContext.java:413)
at com.intellij.execution.actions.ConfigurationContext.findPreferredConfiguration(ConfigurationContext.java:292)
at com.intellij.execution.actions.ConfigurationContext.findExisting(ConfigurationContext.java:285)
at com.intellij.execution.actions.BaseRunConfigurationAction.findExisting(BaseRunConfigurationAction.java:65)
at com.intellij.execution.actions.BaseRunConfigurationAction.fullUpdate(BaseRunConfigurationAction.java:220)
at com.intellij.execution.actions.BaseRunConfigurationAction.update(BaseRunConfigurationAction.java:185)
at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performDumbAwareUpdate$0(ActionUtil.java:150)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:173)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.doUpdate(ActionUpdater.java:660)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$updateActionReal$4(ActionUpdater.java:128)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.java:173)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.java:153)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.updateActionReal(ActionUpdater.java:129)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$new$0(ActionUpdater.java:116)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.update(ActionUpdater.java:649)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:498)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:477)
at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1398)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:477)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:550)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:477)
at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1398)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:477)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:550)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:477)
at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1398)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:477)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:550)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:477)
at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1398)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:477)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:550)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:477)
at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1398)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:477)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:550)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:477)
at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1398)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:477)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroup(ActionUpdater.java:272)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroupAsync$12(ActionUpdater.java:340)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroupAsync$13(ActionUpdater.java:359)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1154)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$tryRunReadActionAndCancelBeforeWrite$17(ActionUpdater.java:391)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:158)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.tryRunReadActionAndCancelBeforeWrite(ActionUpdater.java:387)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroupAsync$14(ActionUpdater.java:359)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:365)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroupAsync$15(ActionUpdater.java:358)
at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:241)
at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:31)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:214)
at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:212)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:203)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
at java.base/java.lang.Thread.run(Thread.java:833)
- Julia Version: 1.8.2
- Plugin Name: Julia
- Plugin Version: 0.4.2
- OS Name: Mac OS X
- Java Version: 17.0.4.1
- App Name: PyCharm
- App Full Name: PyCharm
- App Version name: PyCharm
- Is EAP: false
- App Build: PY-222.4345.23
- App Version: 2022.2.3
- Last Action: Unknown
- title: [auto-generated:1246519348] null
- Julia Version: 1.8.2
- Plugin Name: Julia
- Plugin Version: 0.4.2
- OS Name: Mac OS X
- Java Version: 17.0.4.1
- App Name: PyCharm
- App Full Name: PyCharm
- App Version name: PyCharm
- Is EAP: false
- App Build: PY-222.4345.23
- App Version: 2022.2.3
- Last Action: Unknown
- title: [auto-generated:1246519348] null
- Julia Version: Unknown
- Plugin Name: Julia
- Plugin Version: 0.4.2
- OS Name: Mac OS X
- Java Version: 17.0.4.1
- App Name: PyCharm
- App Full Name: PyCharm
- App Version name: PyCharm
- Is EAP: false
- App Build: PY-222.4345.23
- App Version: 2022.2.3
- Last Action: Unknown
- title: [auto-generated:1246519348] null
- Julia Version: Unknown
- Plugin Name: Julia
- Plugin Version: 0.4.2
- OS Name: Mac OS X
- Java Version: 17.0.4.1
- App Name: PyCharm
- App Full Name: PyCharm
- App Version name: PyCharm
- Is EAP: false
- App Build: PY-222.4345.23
- App Version: 2022.2.3
- Last Action: Unknown
- title: [auto-generated:1246519348] null
- Julia Version:
- Plugin Name: Julia
- Plugin Version: 0.4.2
- OS Name: Windows 11
- Java Version: 17.0.4.1
- App Name: PyCharm
- App Full Name: PyCharm
- App Version name: PyCharm
- Is EAP: false
- App Build: PY-222.4345.23
- App Version: 2022.2.3
- Last Action: Unknown
- Attachment induced.txt: Rm9sbG93aW5nIGV4Y2VwdGlvbnMgaGFwcGVuZWQgc29vbiBhZnRlciB0aGlzIG9uZSwgbW9zdCBwcm9iYWJseSB0aGV5IGFyZSBpbmR1Y2VkLgoKCjIwMjItMTItMDFUMTQ6MjY6MzUuNTA5CmNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbjogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgbWV0aG9kICdnZXRJZCcgaXMgZGVwcmVjYXRlZCwgeW91IG5lZWQgdG8gb3ZlcnJpZGUgaXQgaW4gJ2NsYXNzIG9yZy5pY2UxMDAwLmp1bGlhLmxhbmcuZXhlY3V0aW9uLkp1bGlhUnVuQ29uZmlndXJhdGlvbkZhY3RvcnknLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkZWxlZ2F0ZXMgdG8gJ2dldE5hbWUnIHdoaWNoIG1heSBiZSBsb2NhbGl6ZWQsIGJ1dCByZXR1cm4gdmFsdWUgb2YgdGhpcyBtZXRob2QgbXVzdCBub3QgZGVwZW5kIG9uIGN1cnJlbnQgbG9jYWxpemF0aW9uLiBbUGx1Z2luOiBvcmcuaWNlMTAwMC5qdWxpYV0NCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5Qcm9ibGVtUmVwb3J0ZXJJbXBsLmNyZWF0ZVBsdWdpbkV4Y2VwdGlvbkJ5Q2xhc3MoUGx1Z2luUHJvYmxlbVJlcG9ydGVySW1wbC5qYXZhOjIzKQ0KCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5jcmVhdGVCeUNsYXNzKFBsdWdpbkV4Y2VwdGlvbi5qYXZhOjgzKQ0KCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5yZXBvcnREZXByZWNhdGVkRGVmYXVsdChQbHVnaW5FeGNlcHRpb24uamF2YToxMTApDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5jb25maWd1cmF0aW9ucy5Db25maWd1cmF0aW9uRmFjdG9yeS5nZXRJZChDb25maWd1cmF0aW9uRmFjdG9yeS5qYXZhOjc1KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5uZXJBbmRDb25maWd1cmF0aW9uU2V0dGluZ3NJbXBsLmdldE5hbWUoUnVubmVyQW5kQ29uZmlndXJhdGlvblNldHRpbmdzSW1wbC5rdDoxNTUpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmdldFNjaGVtZUtleShSdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5rdDozNykNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIuZ2V0U2NoZW1lS2V5KFJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmt0OjIxKQ0KCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVNYW5hZ2VyQmFzZS5wcm9jZXNzUGVuZGluZ0N1cnJlbnRTY2hlbWVOYW1lJGludGVsbGlqX3BsYXRmb3JtX2NvbmZpZ3VyYXRpb25TdG9yZV9pbXBsKFNjaGVtZU1hbmFnZXJCYXNlLmt0OjIzKQ0KCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVMaXN0TWFuYWdlci5hZGRTY2hlbWUoU2NoZW1lTGlzdE1hbmFnZXIua3Q6NzgpDQoJYXQgY29tLmludGVsbGlqLmNvbmZpZ3VyYXRpb25TdG9yZS5zY2hlbWVNYW5hZ2VyLlNjaGVtZU1hbmFnZXJJbXBsLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VySW1wbC5rdDo2MTIpDQoJYXQgY29tLmludGVsbGlqLmNvbmZpZ3VyYXRpb25TdG9yZS5zY2hlbWVNYW5hZ2VyLlNjaGVtZU1hbmFnZXJJbXBsLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VySW1wbC5rdDo0MykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5vcHRpb25zLlNjaGVtZU1hbmFnZXIuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXIua3Q6MzgpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsLmdldENvbmZpZ3VyYXRpb25UZW1wbGF0ZShSdW5NYW5hZ2VySW1wbC5rdDozNDgpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsLmNyZWF0ZUNvbmZpZ3VyYXRpb24oUnVuTWFuYWdlckltcGwua3Q6MjcyKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY2xvbmVUZW1wbGF0ZUNvbmZpZ3VyYXRpb25TdGF0aWMoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MjU3KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY2xvbmVUZW1wbGF0ZUNvbmZpZ3VyYXRpb24oUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MjQ3KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY3JlYXRlQ29uZmlndXJhdGlvbkZyb21Db250ZXh0KFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjk2KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuZmluZE9yQ3JlYXRlQ29uZmlndXJhdGlvbkZyb21Db250ZXh0KFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjE5NykNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUHJlZmVycmVkUHJvZHVjZXJGaW5kLmRvR2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChQcmVmZXJyZWRQcm9kdWNlckZpbmQuamF2YToxMTgpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5nZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KFByZWZlcnJlZFByb2R1Y2VyRmluZC5qYXZhOjEwMCkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZ2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjQxMykNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZmluZFByZWZlcnJlZENvbmZpZ3VyYXRpb24oQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YToyOTIpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmZpbmRFeGlzdGluZyhDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjI4NSkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uZmluZEV4aXN0aW5nKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6NjUpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmZ1bGxVcGRhdGUoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YToyMjApDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLnVwZGF0ZShCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjE4NSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uZXguQWN0aW9uVXRpbC5sYW1iZGEkcGVyZm9ybUR1bWJBd2FyZVVwZGF0ZSQwKEFjdGlvblV0aWwuamF2YToxNTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmV4LkFjdGlvblV0aWwucGVyZm9ybUR1bWJBd2FyZVVwZGF0ZShBY3Rpb25VdGlsLmphdmE6MTczKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9VcGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjY2MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSR1cGRhdGVBY3Rpb25SZWFsJDQoQWN0aW9uVXBkYXRlci5qYXZhOjEyOCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmNhbGxBY3Rpb24oQWN0aW9uVXBkYXRlci5qYXZhOjE3MykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmNhbGxBY3Rpb24oQWN0aW9uVXBkYXRlci5qYXZhOjE1MykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZUFjdGlvblJlYWwoQWN0aW9uVXBkYXRlci5qYXZhOjEyOSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRuZXckMChBY3Rpb25VcGRhdGVyLmphdmE6MTE2KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudXBkYXRlKEFjdGlvblVwZGF0ZXIuamF2YTo2NDkpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo0OTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjEzOTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1NTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjEzOTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1NTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjEzOTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1NTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjEzOTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1NTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjEzOTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1NTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjEzOTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6MjcyKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxMihBY3Rpb25VcGRhdGVyLmphdmE6MzQwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxMyhBY3Rpb25VcGRhdGVyLmphdmE6MzU5KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFwcGxpY2F0aW9uLmltcGwuQXBwbGljYXRpb25JbXBsLnRyeVJ1blJlYWRBY3Rpb24oQXBwbGljYXRpb25JbXBsLmphdmE6MTE1NCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSR0cnlSdW5SZWFkQWN0aW9uQW5kQ2FuY2VsQmVmb3JlV3JpdGUkMTcoQWN0aW9uVXBkYXRlci5qYXZhOjM5MSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy51dGlsLlByb2dyZXNzSW5kaWNhdG9yVXRpbHMucnVuQWN0aW9uQW5kQ2FuY2VsQmVmb3JlV3JpdGUoUHJvZ3Jlc3NJbmRpY2F0b3JVdGlscy5qYXZhOjE1OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnRyeVJ1blJlYWRBY3Rpb25BbmRDYW5jZWxCZWZvcmVXcml0ZShBY3Rpb25VcGRhdGVyLmphdmE6Mzg3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNChBY3Rpb25VcGRhdGVyLmphdmE6MzU5KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5sYW1iZGEkcnVuUHJvY2VzcyQyKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YToxODgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmxhbWJkYSRleGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MkMTIoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYwOCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIucmVnaXN0ZXJJbmRpY2F0b3JBbmRSdW4oQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjY4MykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIuY29tcHV0ZVVuZGVyUHJvZ3Jlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYzOSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MDcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Qcm9ncmVzc01hbmFnZXJJbXBsLmV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyhQcm9ncmVzc01hbmFnZXJJbXBsLmphdmE6NjApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLnJ1blByb2Nlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjE3NSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy51dGlsLkJhY2tncm91bmRUYXNrVXRpbC5ydW5VbmRlckRpc3Bvc2VBd2FyZUluZGljYXRvcihCYWNrZ3JvdW5kVGFza1V0aWwuamF2YTozNjUpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE1KEFjdGlvblVwZGF0ZXIuamF2YTozNTgpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvci5kb1J1bihCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjQxKQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IuYWNjZXNzJDIwMChCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MzEpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLmV4ZWN1dGUoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjIxNCkNCglhdCBjb20uaW50ZWxsaWoudXRpbC5Db25jdXJyZW5jeVV0aWwucnVuVW5kZXJUaHJlYWROYW1lKENvbmN1cnJlbmN5VXRpbC5qYXZhOjIxMikNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yJDEucnVuKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyMDMpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTEzNikNCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjM1KQ0KCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMSQxLnJ1bihFeGVjdXRvcnMuamF2YTo3MDIpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxJDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY5OSkNCglhdCBqYXZhLmJhc2UvamF2YS5zZWN1cml0eS5BY2Nlc3NDb250cm9sbGVyLmRvUHJpdmlsZWdlZChBY2Nlc3NDb250cm9sbGVyLmphdmE6Mzk5KQ0KCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMS5ydW4oRXhlY3V0b3JzLmphdmE6Njk5KQ0KCWF0IGphdmEuYmFzZS9qYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo4MzMpDQoKCgoyMDIyLTEyLTAxVDE0OjI2OjM1LjUxMgpjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb246IFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZCAnZ2V0SWQnIGlzIGRlcHJlY2F0ZWQsIHlvdSBuZWVkIHRvIG92ZXJyaWRlIGl0IGluICdjbGFzcyBvcmcuaWNlMTAwMC5qdWxpYS5sYW5nLmV4ZWN1dGlvbi5KdWxpYVJ1bkNvbmZpZ3VyYXRpb25GYWN0b3J5Jy4gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZGVsZWdhdGVzIHRvICdnZXROYW1lJyB3aGljaCBtYXkgYmUgbG9jYWxpemVkLCBidXQgcmV0dXJuIHZhbHVlIG9mIHRoaXMgbWV0aG9kIG11c3Qgbm90IGRlcGVuZCBvbiBjdXJyZW50IGxvY2FsaXphdGlvbi4gW1BsdWdpbjogb3JnLmljZTEwMDAuanVsaWFdDQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luUHJvYmxlbVJlcG9ydGVySW1wbC5jcmVhdGVQbHVnaW5FeGNlcHRpb25CeUNsYXNzKFBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuamF2YToyMykNCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb24uY3JlYXRlQnlDbGFzcyhQbHVnaW5FeGNlcHRpb24uamF2YTo4MykNCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb24ucmVwb3J0RGVwcmVjYXRlZERlZmF1bHQoUGx1Z2luRXhjZXB0aW9uLmphdmE6MTEwKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uY29uZmlndXJhdGlvbnMuQ29uZmlndXJhdGlvbkZhY3RvcnkuZ2V0SWQoQ29uZmlndXJhdGlvbkZhY3RvcnkuamF2YTo3NSkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVubmVyQW5kQ29uZmlndXJhdGlvblNldHRpbmdzSW1wbC5nZXROYW1lKFJ1bm5lckFuZENvbmZpZ3VyYXRpb25TZXR0aW5nc0ltcGwua3Q6MTU1KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5nZXRTY2hlbWVLZXkoUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIua3Q6MzcpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmdldFNjaGVtZUtleShSdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5rdDoyMSkNCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTGlzdE1hbmFnZXIuYWRkU2NoZW1lKFNjaGVtZUxpc3RNYW5hZ2VyLmt0OjM1KQ0KCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVNYW5hZ2VySW1wbC5hZGRTY2hlbWUoU2NoZW1lTWFuYWdlckltcGwua3Q6NjEyKQ0KCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVNYW5hZ2VySW1wbC5hZGRTY2hlbWUoU2NoZW1lTWFuYWdlckltcGwua3Q6NDMpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkub3B0aW9ucy5TY2hlbWVNYW5hZ2VyLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VyLmt0OjM4KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5NYW5hZ2VySW1wbC5nZXRDb25maWd1cmF0aW9uVGVtcGxhdGUoUnVuTWFuYWdlckltcGwua3Q6MzQ4KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5NYW5hZ2VySW1wbC5jcmVhdGVDb25maWd1cmF0aW9uKFJ1bk1hbmFnZXJJbXBsLmt0OjI3MikNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNsb25lVGVtcGxhdGVDb25maWd1cmF0aW9uU3RhdGljKFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjI1NykNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNsb25lVGVtcGxhdGVDb25maWd1cmF0aW9uKFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjI0NykNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNyZWF0ZUNvbmZpZ3VyYXRpb25Gcm9tQ29udGV4dChSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YTo5NikNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmZpbmRPckNyZWF0ZUNvbmZpZ3VyYXRpb25Gcm9tQ29udGV4dChSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToxOTcpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5kb0dldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoUHJlZmVycmVkUHJvZHVjZXJGaW5kLmphdmE6MTE4KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5QcmVmZXJyZWRQcm9kdWNlckZpbmQuZ2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChQcmVmZXJyZWRQcm9kdWNlckZpbmQuamF2YToxMDApDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmdldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YTo0MTMpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmZpbmRQcmVmZXJyZWRDb25maWd1cmF0aW9uKENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6MjkyKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5maW5kRXhpc3RpbmcoQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YToyODUpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmZpbmRFeGlzdGluZyhCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjY1KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5mdWxsVXBkYXRlKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6MjIwKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi51cGRhdGUoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YToxODUpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmV4LkFjdGlvblV0aWwubGFtYmRhJHBlcmZvcm1EdW1iQXdhcmVVcGRhdGUkMChBY3Rpb25VdGlsLmphdmE6MTUwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLnBlcmZvcm1EdW1iQXdhcmVVcGRhdGUoQWN0aW9uVXRpbC5qYXZhOjE3MykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvVXBkYXRlKEFjdGlvblVwZGF0ZXIuamF2YTo2NjApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkdXBkYXRlQWN0aW9uUmVhbCQ0KEFjdGlvblVwZGF0ZXIuamF2YToxMjgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5jYWxsQWN0aW9uKEFjdGlvblVwZGF0ZXIuamF2YToxNzMpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5jYWxsQWN0aW9uKEFjdGlvblVwZGF0ZXIuamF2YToxNTMpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci51cGRhdGVBY3Rpb25SZWFsKEFjdGlvblVwZGF0ZXIuamF2YToxMjkpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkbmV3JDAoQWN0aW9uVXBkYXRlci5qYXZhOjExNikNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjQ5KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NDk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxMzk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTUwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxMzk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTUwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxMzk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTUwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxMzk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTUwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxMzk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTUwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxMzk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjI3MikNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTIoQWN0aW9uVXBkYXRlci5qYXZhOjM0MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTMoQWN0aW9uVXBkYXRlci5qYXZhOjM1OSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hcHBsaWNhdGlvbi5pbXBsLkFwcGxpY2F0aW9uSW1wbC50cnlSdW5SZWFkQWN0aW9uKEFwcGxpY2F0aW9uSW1wbC5qYXZhOjExNTQpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkdHJ5UnVuUmVhZEFjdGlvbkFuZENhbmNlbEJlZm9yZVdyaXRlJDE3KEFjdGlvblVwZGF0ZXIuamF2YTozOTEpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MudXRpbC5Qcm9ncmVzc0luZGljYXRvclV0aWxzLnJ1bkFjdGlvbkFuZENhbmNlbEJlZm9yZVdyaXRlKFByb2dyZXNzSW5kaWNhdG9yVXRpbHMuamF2YToxNTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci50cnlSdW5SZWFkQWN0aW9uQW5kQ2FuY2VsQmVmb3JlV3JpdGUoQWN0aW9uVXBkYXRlci5qYXZhOjM4NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTQoQWN0aW9uVXBkYXRlci5qYXZhOjM1OSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIubGFtYmRhJHJ1blByb2Nlc3MkMihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6MTg4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5sYW1iZGEkZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzJDEyKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MDgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLnJlZ2lzdGVySW5kaWNhdG9yQW5kUnVuKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2ODMpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmNvbXB1dGVVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MzkpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyhDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjA3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuUHJvZ3Jlc3NNYW5hZ2VySW1wbC5leGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MoUHJvZ3Jlc3NNYW5hZ2VySW1wbC5qYXZhOjYwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5ydW5Qcm9jZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YToxNzUpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MudXRpbC5CYWNrZ3JvdW5kVGFza1V0aWwucnVuVW5kZXJEaXNwb3NlQXdhcmVJbmRpY2F0b3IoQmFja2dyb3VuZFRhc2tVdGlsLmphdmE6MzY1KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNShBY3Rpb25VcGRhdGVyLmphdmE6MzU4KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IuZG9SdW4oQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjI0MSkNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmFjY2VzcyQyMDAoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjMxKQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IkMS5leGVjdXRlKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyMTQpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuQ29uY3VycmVuY3lVdGlsLnJ1blVuZGVyVGhyZWFkTmFtZShDb25jdXJyZW5jeVV0aWwuamF2YToyMTIpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLnJ1bihCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjAzKQ0KCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExMzYpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYzNSkNCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEkMS5ydW4oRXhlY3V0b3JzLmphdmE6NzAyKQ0KCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMSQxLnJ1bihFeGVjdXRvcnMuamF2YTo2OTkpDQoJYXQgamF2YS5iYXNlL2phdmEuc2VjdXJpdHkuQWNjZXNzQ29udHJvbGxlci5kb1ByaXZpbGVnZWQoQWNjZXNzQ29udHJvbGxlci5qYXZhOjM5OSkNCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY5OSkNCglhdCBqYXZhLmJhc2UvamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6ODMzKQ0KCgoKMjAyMi0xMi0wMVQxNDoyNjozNS41NTMKY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uOiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2QgJ2dldElkJyBpcyBkZXByZWNhdGVkLCB5b3UgbmVlZCB0byBvdmVycmlkZSBpdCBpbiAnY2xhc3Mgb3JnLmljZTEwMDAuanVsaWEubGFuZy5leGVjdXRpb24uSnVsaWFSdW5Db25maWd1cmF0aW9uRmFjdG9yeScuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRlbGVnYXRlcyB0byAnZ2V0TmFtZScgd2hpY2ggbWF5IGJlIGxvY2FsaXplZCwgYnV0IHJldHVybiB2YWx1ZSBvZiB0aGlzIG1ldGhvZCBtdXN0IG5vdCBkZXBlbmQgb24gY3VycmVudCBsb2NhbGl6YXRpb24uIFtQbHVnaW46IG9yZy5pY2UxMDAwLmp1bGlhXQ0KCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuY3JlYXRlUGx1Z2luRXhjZXB0aW9uQnlDbGFzcyhQbHVnaW5Qcm9ibGVtUmVwb3J0ZXJJbXBsLmphdmE6MjMpDQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uLmNyZWF0ZUJ5Q2xhc3MoUGx1Z2luRXhjZXB0aW9uLmphdmE6ODMpDQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uLnJlcG9ydERlcHJlY2F0ZWREZWZhdWx0KFBsdWdpbkV4Y2VwdGlvbi5qYXZhOjExMCkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmNvbmZpZ3VyYXRpb25zLkNvbmZpZ3VyYXRpb25GYWN0b3J5LmdldElkKENvbmZpZ3VyYXRpb25GYWN0b3J5LmphdmE6NzUpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bm5lckFuZENvbmZpZ3VyYXRpb25TZXR0aW5nc0ltcGwuZ2V0TmFtZShSdW5uZXJBbmRDb25maWd1cmF0aW9uU2V0dGluZ3NJbXBsLmt0OjE1NSkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIuZ2V0U2NoZW1lS2V5KFJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmt0OjM3KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5nZXRTY2hlbWVLZXkoUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIua3Q6MjEpDQoJYXQgY29tLmludGVsbGlqLmNvbmZpZ3VyYXRpb25TdG9yZS5zY2hlbWVNYW5hZ2VyLlNjaGVtZUxpc3RNYW5hZ2VyLmFkZFNjaGVtZShTY2hlbWVMaXN0TWFuYWdlci5rdDozNSkNCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTWFuYWdlckltcGwuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXJJbXBsLmt0OjYxMikNCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTWFuYWdlckltcGwuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXJJbXBsLmt0OjQzKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLm9wdGlvbnMuU2NoZW1lTWFuYWdlci5hZGRTY2hlbWUoU2NoZW1lTWFuYWdlci5rdDozOCkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGwuZ2V0Q29uZmlndXJhdGlvblRlbXBsYXRlKFJ1bk1hbmFnZXJJbXBsLmt0OjM0OCkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGwuY3JlYXRlQ29uZmlndXJhdGlvbihSdW5NYW5hZ2VySW1wbC5rdDoyNzIpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jbG9uZVRlbXBsYXRlQ29uZmlndXJhdGlvblN0YXRpYyhSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToyNTcpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jbG9uZVRlbXBsYXRlQ29uZmlndXJhdGlvbihSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToyNDcpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6OTYpDQoJYXQgY29tLmludGVsbGlqLmRhdGFiYXNlLmNvbnNvbGUucnVuQ29uZmlndXJhdGlvbi5EYXRhYmFzZVNjcmlwdFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoRGF0YWJhc2VTY3JpcHRSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIua3Q6MjgpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5maW5kT3JDcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MTk3KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5QcmVmZXJyZWRQcm9kdWNlckZpbmQuZG9HZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KFByZWZlcnJlZFByb2R1Y2VyRmluZC5qYXZhOjExOCkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUHJlZmVycmVkUHJvZHVjZXJGaW5kLmdldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoUHJlZmVycmVkUHJvZHVjZXJGaW5kLmphdmE6MTAwKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5nZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6NDEzKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5maW5kUHJlZmVycmVkQ29uZmlndXJhdGlvbihDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjI5MikNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZmluZEV4aXN0aW5nKENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6Mjg1KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5maW5kRXhpc3RpbmcoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YTo2NSkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uZnVsbFVwZGF0ZShCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjIyMCkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24udXBkYXRlKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6MTg1KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLmxhbWJkYSRwZXJmb3JtRHVtYkF3YXJlVXBkYXRlJDAoQWN0aW9uVXRpbC5qYXZhOjE1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uZXguQWN0aW9uVXRpbC5wZXJmb3JtRHVtYkF3YXJlVXBkYXRlKEFjdGlvblV0aWwuamF2YToxNzMpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb1VwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjYwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJHVwZGF0ZUFjdGlvblJlYWwkNChBY3Rpb25VcGRhdGVyLmphdmE6MTI4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuY2FsbEFjdGlvbihBY3Rpb25VcGRhdGVyLmphdmE6MTczKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuY2FsbEFjdGlvbihBY3Rpb25VcGRhdGVyLmphdmE6MTUzKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudXBkYXRlQWN0aW9uUmVhbChBY3Rpb25VcGRhdGVyLmphdmE6MTI5KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJG5ldyQwKEFjdGlvblVwZGF0ZXIuamF2YToxMTYpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci51cGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjY0OSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjQ5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTM5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjU1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTM5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjU1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTM5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjU1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTM5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjU1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTM5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjU1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTM5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YToyNzIpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cEFzeW5jJDEyKEFjdGlvblVwZGF0ZXIuamF2YTozNDApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cEFzeW5jJDEzKEFjdGlvblVwZGF0ZXIuamF2YTozNTkpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYXBwbGljYXRpb24uaW1wbC5BcHBsaWNhdGlvbkltcGwudHJ5UnVuUmVhZEFjdGlvbihBcHBsaWNhdGlvbkltcGwuamF2YToxMTU0KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJHRyeVJ1blJlYWRBY3Rpb25BbmRDYW5jZWxCZWZvcmVXcml0ZSQxNyhBY3Rpb25VcGRhdGVyLmphdmE6MzkxKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLnV0aWwuUHJvZ3Jlc3NJbmRpY2F0b3JVdGlscy5ydW5BY3Rpb25BbmRDYW5jZWxCZWZvcmVXcml0ZShQcm9ncmVzc0luZGljYXRvclV0aWxzLmphdmE6MTU4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudHJ5UnVuUmVhZEFjdGlvbkFuZENhbmNlbEJlZm9yZVdyaXRlKEFjdGlvblVwZGF0ZXIuamF2YTozODcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE0KEFjdGlvblVwZGF0ZXIuamF2YTozNTkpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmxhbWJkYSRydW5Qcm9jZXNzJDIoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjE4OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIubGFtYmRhJGV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyQxMihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjA4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5yZWdpc3RlckluZGljYXRvckFuZFJ1bihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjgzKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5jb21wdXRlVW5kZXJQcm9ncmVzcyhDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjM5KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5leGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYwNykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLlByb2dyZXNzTWFuYWdlckltcGwuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKFByb2dyZXNzTWFuYWdlckltcGwuamF2YTo2MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIucnVuUHJvY2VzcyhDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6MTc1KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLnV0aWwuQmFja2dyb3VuZFRhc2tVdGlsLnJ1blVuZGVyRGlzcG9zZUF3YXJlSW5kaWNhdG9yKEJhY2tncm91bmRUYXNrVXRpbC5qYXZhOjM2NSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTUoQWN0aW9uVXBkYXRlci5qYXZhOjM1OCkNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmRvUnVuKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyNDEpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvci5hY2Nlc3MkMjAwKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YTozMSkNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yJDEuZXhlY3V0ZShCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjE0KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLkNvbmN1cnJlbmN5VXRpbC5ydW5VbmRlclRocmVhZE5hbWUoQ29uY3VycmVuY3lVdGlsLmphdmE6MjEyKQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IkMS5ydW4oQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjIwMykNCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTM2KQ0KCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MzUpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxJDEucnVuKEV4ZWN1dG9ycy5qYXZhOjcwMikNCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEkMS5ydW4oRXhlY3V0b3JzLmphdmE6Njk5KQ0KCWF0IGphdmEuYmFzZS9qYXZhLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxlZ2VkKEFjY2Vzc0NvbnRyb2xsZXIuamF2YTozOTkpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxLnJ1bihFeGVjdXRvcnMuamF2YTo2OTkpDQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjgzMykNCgoKCjIwMjItMTItMDFUMTQ6MjY6MzUuNTU2CmNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbjogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgbWV0aG9kICdnZXRJZCcgaXMgZGVwcmVjYXRlZCwgeW91IG5lZWQgdG8gb3ZlcnJpZGUgaXQgaW4gJ2NsYXNzIG9yZy5pY2UxMDAwLmp1bGlhLmxhbmcuZXhlY3V0aW9uLkp1bGlhUnVuQ29uZmlndXJhdGlvbkZhY3RvcnknLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkZWxlZ2F0ZXMgdG8gJ2dldE5hbWUnIHdoaWNoIG1heSBiZSBsb2NhbGl6ZWQsIGJ1dCByZXR1cm4gdmFsdWUgb2YgdGhpcyBtZXRob2QgbXVzdCBub3QgZGVwZW5kIG9uIGN1cnJlbnQgbG9jYWxpemF0aW9uLiBbUGx1Z2luOiBvcmcuaWNlMTAwMC5qdWxpYV0NCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5Qcm9ibGVtUmVwb3J0ZXJJbXBsLmNyZWF0ZVBsdWdpbkV4Y2VwdGlvbkJ5Q2xhc3MoUGx1Z2luUHJvYmxlbVJlcG9ydGVySW1wbC5qYXZhOjIzKQ0KCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5jcmVhdGVCeUNsYXNzKFBsdWdpbkV4Y2VwdGlvbi5qYXZhOjgzKQ0KCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5yZXBvcnREZXByZWNhdGVkRGVmYXVsdChQbHVnaW5FeGNlcHRpb24uamF2YToxMTApDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5jb25maWd1cmF0aW9ucy5Db25maWd1cmF0aW9uRmFjdG9yeS5nZXRJZChDb25maWd1cmF0aW9uRmFjdG9yeS5qYXZhOjc1KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5NYW5hZ2VySW1wbEt0LmdldEZhY3RvcnlLZXkoUnVuTWFuYWdlckltcGwua3Q6MTQwMSkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGxLdC5hY2Nlc3MkZ2V0RmFjdG9yeUtleShSdW5NYW5hZ2VySW1wbC5rdDoxKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5NYW5hZ2VySW1wbC5nZXRDb25maWd1cmF0aW9uVGVtcGxhdGUoUnVuTWFuYWdlckltcGwua3Q6MzQ0KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5NYW5hZ2VySW1wbC5jcmVhdGVDb25maWd1cmF0aW9uKFJ1bk1hbmFnZXJJbXBsLmt0OjI3MikNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNsb25lVGVtcGxhdGVDb25maWd1cmF0aW9uU3RhdGljKFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjI1NykNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNsb25lVGVtcGxhdGVDb25maWd1cmF0aW9uKFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjI0NykNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNyZWF0ZUNvbmZpZ3VyYXRpb25Gcm9tQ29udGV4dChSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YTo5NikNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmZpbmRPckNyZWF0ZUNvbmZpZ3VyYXRpb25Gcm9tQ29udGV4dChSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToxOTcpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5kb0dldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoUHJlZmVycmVkUHJvZHVjZXJGaW5kLmphdmE6MTE4KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5QcmVmZXJyZWRQcm9kdWNlckZpbmQuZ2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChQcmVmZXJyZWRQcm9kdWNlckZpbmQuamF2YToxMDApDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5jcmVhdGVDb25maWd1cmF0aW9uKFByZWZlcnJlZFByb2R1Y2VyRmluZC5qYXZhOjMyKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5jcmVhdGVDb25maWd1cmF0aW9uKENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6MjA0KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5nZXRDb25maWd1cmF0aW9uKENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6MTk1KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5mdWxsVXBkYXRlKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6MjIzKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi51cGRhdGUoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YToxODUpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmV4LkFjdGlvblV0aWwubGFtYmRhJHBlcmZvcm1EdW1iQXdhcmVVcGRhdGUkMChBY3Rpb25VdGlsLmphdmE6MTUwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLnBlcmZvcm1EdW1iQXdhcmVVcGRhdGUoQWN0aW9uVXRpbC5qYXZhOjE3MykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvVXBkYXRlKEFjdGlvblVwZGF0ZXIuamF2YTo2NjApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkdXBkYXRlQWN0aW9uUmVhbCQ0KEFjdGlvblVwZGF0ZXIuamF2YToxMjgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5jYWxsQWN0aW9uKEFjdGlvblVwZGF0ZXIuamF2YToxNzMpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5jYWxsQWN0aW9uKEFjdGlvblVwZGF0ZXIuamF2YToxNTMpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci51cGRhdGVBY3Rpb25SZWFsKEFjdGlvblVwZGF0ZXIuamF2YToxMjkpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkbmV3JDAoQWN0aW9uVXBkYXRlci5qYXZhOjExNikNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjQ5KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NDk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxMzk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTUwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxMzk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTUwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxMzk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTUwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxMzk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTUwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxMzk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTUwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxMzk4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjI3MikNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTIoQWN0aW9uVXBkYXRlci5qYXZhOjM0MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTMoQWN0aW9uVXBkYXRlci5qYXZhOjM1OSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hcHBsaWNhdGlvbi5pbXBsLkFwcGxpY2F0aW9uSW1wbC50cnlSdW5SZWFkQWN0aW9uKEFwcGxpY2F0aW9uSW1wbC5qYXZhOjExNTQpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkdHJ5UnVuUmVhZEFjdGlvbkFuZENhbmNlbEJlZm9yZVdyaXRlJDE3KEFjdGlvblVwZGF0ZXIuamF2YTozOTEpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MudXRpbC5Qcm9ncmVzc0luZGljYXRvclV0aWxzLnJ1bkFjdGlvbkFuZENhbmNlbEJlZm9yZVdyaXRlKFByb2dyZXNzSW5kaWNhdG9yVXRpbHMuamF2YToxNTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci50cnlSdW5SZWFkQWN0aW9uQW5kQ2FuY2VsQmVmb3JlV3JpdGUoQWN0aW9uVXBkYXRlci5qYXZhOjM4NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTQoQWN0aW9uVXBkYXRlci5qYXZhOjM1OSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIubGFtYmRhJHJ1blByb2Nlc3MkMihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6MTg4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5sYW1iZGEkZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzJDEyKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MDgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLnJlZ2lzdGVySW5kaWNhdG9yQW5kUnVuKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2ODMpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmNvbXB1dGVVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MzkpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyhDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjA3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuUHJvZ3Jlc3NNYW5hZ2VySW1wbC5leGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MoUHJvZ3Jlc3NNYW5hZ2VySW1wbC5qYXZhOjYwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5ydW5Qcm9jZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YToxNzUpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MudXRpbC5CYWNrZ3JvdW5kVGFza1V0aWwucnVuVW5kZXJEaXNwb3NlQXdhcmVJbmRpY2F0b3IoQmFja2dyb3VuZFRhc2tVdGlsLmphdmE6MzY1KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNShBY3Rpb25VcGRhdGVyLmphdmE6MzU4KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IuZG9SdW4oQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjI0MSkNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmFjY2VzcyQyMDAoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjMxKQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IkMS5leGVjdXRlKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyMTQpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuQ29uY3VycmVuY3lVdGlsLnJ1blVuZGVyVGhyZWFkTmFtZShDb25jdXJyZW5jeVV0aWwuamF2YToyMTIpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLnJ1bihCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjAzKQ0KCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExMzYpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYzNSkNCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEkMS5ydW4oRXhlY3V0b3JzLmphdmE6NzAyKQ0KCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMSQxLnJ1bihFeGVjdXRvcnMuamF2YTo2OTkpDQoJYXQgamF2YS5iYXNlL2phdmEuc2VjdXJpdHkuQWNjZXNzQ29udHJvbGxlci5kb1ByaXZpbGVnZWQoQWNjZXNzQ29udHJvbGxlci5qYXZhOjM5OSkNCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY5OSkNCglhdCBqYXZhLmJhc2UvamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6ODMzKQ0KCgoKMjAyMi0xMi0wMVQxNDoyNjozNS41NjUKY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uOiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2QgJ2dldElkJyBpcyBkZXByZWNhdGVkLCB5b3UgbmVlZCB0byBvdmVycmlkZSBpdCBpbiAnY2xhc3Mgb3JnLmljZTEwMDAuanVsaWEubGFuZy5leGVjdXRpb24uSnVsaWFSdW5Db25maWd1cmF0aW9uRmFjdG9yeScuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRlbGVnYXRlcyB0byAnZ2V0TmFtZScgd2hpY2ggbWF5IGJlIGxvY2FsaXplZCwgYnV0IHJldHVybiB2YWx1ZSBvZiB0aGlzIG1ldGhvZCBtdXN0IG5vdCBkZXBlbmQgb24gY3VycmVudCBsb2NhbGl6YXRpb24uIFtQbHVnaW46IG9yZy5pY2UxMDAwLmp1bGlhXQ0KCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuY3JlYXRlUGx1Z2luRXhjZXB0aW9uQnlDbGFzcyhQbHVnaW5Qcm9ibGVtUmVwb3J0ZXJJbXBsLmphdmE6MjMpDQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uLmNyZWF0ZUJ5Q2xhc3MoUGx1Z2luRXhjZXB0aW9uLmphdmE6ODMpDQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uLnJlcG9ydERlcHJlY2F0ZWREZWZhdWx0KFBsdWdpbkV4Y2VwdGlvbi5qYXZhOjExMCkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmNvbmZpZ3VyYXRpb25zLkNvbmZpZ3VyYXRpb25GYWN0b3J5LmdldElkKENvbmZpZ3VyYXRpb25GYWN0b3J5LmphdmE6NzUpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsS3QuZ2V0RmFjdG9yeUtleShSdW5NYW5hZ2VySW1wbC5rdDoxNDAxKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5NYW5hZ2VySW1wbEt0LmFjY2VzcyRnZXRGYWN0b3J5S2V5KFJ1bk1hbmFnZXJJbXBsLmt0OjEpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsLmdldENvbmZpZ3VyYXRpb25UZW1wbGF0ZShSdW5NYW5hZ2VySW1wbC5rdDozNDQpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsLmNyZWF0ZUNvbmZpZ3VyYXRpb24oUnVuTWFuYWdlckltcGwua3Q6MjcyKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY2xvbmVUZW1wbGF0ZUNvbmZpZ3VyYXRpb25TdGF0aWMoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MjU3KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY2xvbmVUZW1wbGF0ZUNvbmZpZ3VyYXRpb24oUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MjQ3KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY3JlYXRlQ29uZmlndXJhdGlvbkZyb21Db250ZXh0KFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjk2KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuZmluZE9yQ3JlYXRlQ29uZmlndXJhdGlvbkZyb21Db250ZXh0KFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjE5NykNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUHJlZmVycmVkUHJvZHVjZXJGaW5kLmRvR2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChQcmVmZXJyZWRQcm9kdWNlckZpbmQuamF2YToxMTgpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5nZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KFByZWZlcnJlZFByb2R1Y2VyRmluZC5qYXZhOjEwMCkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZ2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjQxMykNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZmluZFByZWZlcnJlZENvbmZpZ3VyYXRpb24oQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YToyOTIpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmZpbmRFeGlzdGluZyhDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjI4NSkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uZmluZEV4aXN0aW5nKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6NjUpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmZ1bGxVcGRhdGUoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YToyMjApDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLnVwZGF0ZShCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjE4NSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uZXguQWN0aW9uVXRpbC5sYW1iZGEkcGVyZm9ybUR1bWJBd2FyZVVwZGF0ZSQwKEFjdGlvblV0aWwuamF2YToxNTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmV4LkFjdGlvblV0aWwucGVyZm9ybUR1bWJBd2FyZVVwZGF0ZShBY3Rpb25VdGlsLmphdmE6MTczKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9VcGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjY2MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSR1cGRhdGVBY3Rpb25SZWFsJDQoQWN0aW9uVXBkYXRlci5qYXZhOjEyOCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmNhbGxBY3Rpb24oQWN0aW9uVXBkYXRlci5qYXZhOjE3MykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmNhbGxBY3Rpb24oQWN0aW9uVXBkYXRlci5qYXZhOjE1MykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZUFjdGlvblJlYWwoQWN0aW9uVXBkYXRlci5qYXZhOjEyOSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRuZXckMChBY3Rpb25VcGRhdGVyLmphdmE6MTE2KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudXBkYXRlKEFjdGlvblVwZGF0ZXIuamF2YTo2NDkpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkaXRlcmF0ZUdyb3VwQ2hpbGRyZW4kMjIoQWN0aW9uVXBkYXRlci5qYXZhOjYxMykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkZpbHRlcmVkVHJhdmVyc2VyQmFzZSRNZXRhLmNoaWxkcmVuSW1wbChGaWx0ZXJlZFRyYXZlcnNlckJhc2UuamF2YTo0MzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5GaWx0ZXJlZFRyYXZlcnNlckJhc2UkTWV0YS5jaGlsZHJlbihGaWx0ZXJlZFRyYXZlcnNlckJhc2UuamF2YTo0MjMpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5GaWx0ZXJlZFRyYXZlcnNlckJhc2UuY2hpbGRyZW4oRmlsdGVyZWRUcmF2ZXJzZXJCYXNlLmphdmE6MzA0KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuVHJlZVRyYXZlcnNhbCQyJDFXcmFwcGVkVHJlZS5mdW4oVHJlZVRyYXZlcnNhbC5qYXZhOjEyMSkNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLlRyZWVUcmF2ZXJzYWwkMiQxV3JhcHBlZFRyZWUuZnVuKFRyZWVUcmF2ZXJzYWwuamF2YToxMDgpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5UcmVlVHJhdmVyc2FsJFAuaXRlcmFibGUoVHJlZVRyYXZlcnNhbC5qYXZhOjgwNSkNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLlRyZWVUcmF2ZXJzYWwkUC5pdGVyYXRvcihUcmVlVHJhdmVyc2FsLmphdmE6Nzk5KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuVHJlZVRyYXZlcnNhbCRMZWF2ZXNEZnNJdC5uZXh0SW1wbChUcmVlVHJhdmVyc2FsLmphdmE6NTcwKQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuSkJJdGVyYXRvci5wZWVrTmV4dChKQkl0ZXJhdG9yLmphdmE6MTUwKQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuSkJJdGVyYXRvci5oYXNOZXh0KEpCSXRlcmF0b3IuamF2YToxMTApDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5KQkl0ZXJhYmxlLnNpemUoSkJJdGVyYWJsZS5qYXZhOjI0MikNCglhdCBjb20uaW50ZWxsaWouaWRlLmFjdGlvbnMuU21hcnRQb3B1cEFjdGlvbkdyb3VwLnVwZGF0ZShTbWFydFBvcHVwQWN0aW9uR3JvdXAuamF2YTozMCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uZXguQWN0aW9uVXRpbC5sYW1iZGEkcGVyZm9ybUR1bWJBd2FyZVVwZGF0ZSQwKEFjdGlvblV0aWwuamF2YToxNTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmV4LkFjdGlvblV0aWwucGVyZm9ybUR1bWJBd2FyZVVwZGF0ZShBY3Rpb25VdGlsLmphdmE6MTczKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9VcGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjY2MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSR1cGRhdGVBY3Rpb25SZWFsJDQoQWN0aW9uVXBkYXRlci5qYXZhOjEyOCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmNhbGxBY3Rpb24oQWN0aW9uVXBkYXRlci5qYXZhOjE3MykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmNhbGxBY3Rpb24oQWN0aW9uVXBkYXRlci5qYXZhOjE1MykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZUFjdGlvblJlYWwoQWN0aW9uVXBkYXRlci5qYXZhOjEyOSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRuZXckMChBY3Rpb25VcGRhdGVyLmphdmE6MTE2KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudXBkYXRlKEFjdGlvblVwZGF0ZXIuamF2YTo2NDkpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo0OTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjEzOTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1NTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjEzOTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1NTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjEzOTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1NTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjEzOTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1NTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjEzOTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1NTApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDc3KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjEzOTgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6MjcyKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxMihBY3Rpb25VcGRhdGVyLmphdmE6MzQwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxMyhBY3Rpb25VcGRhdGVyLmphdmE6MzU5KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFwcGxpY2F0aW9uLmltcGwuQXBwbGljYXRpb25JbXBsLnRyeVJ1blJlYWRBY3Rpb24oQXBwbGljYXRpb25JbXBsLmphdmE6MTE1NCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSR0cnlSdW5SZWFkQWN0aW9uQW5kQ2FuY2VsQmVmb3JlV3JpdGUkMTcoQWN0aW9uVXBkYXRlci5qYXZhOjM5MSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy51dGlsLlByb2dyZXNzSW5kaWNhdG9yVXRpbHMucnVuQWN0aW9uQW5kQ2FuY2VsQmVmb3JlV3JpdGUoUHJvZ3Jlc3NJbmRpY2F0b3JVdGlscy5qYXZhOjE1OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnRyeVJ1blJlYWRBY3Rpb25BbmRDYW5jZWxCZWZvcmVXcml0ZShBY3Rpb25VcGRhdGVyLmphdmE6Mzg3KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNChBY3Rpb25VcGRhdGVyLmphdmE6MzU5KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5sYW1iZGEkcnVuUHJvY2VzcyQyKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YToxODgpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmxhbWJkYSRleGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MkMTIoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYwOCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIucmVnaXN0ZXJJbmRpY2F0b3JBbmRSdW4oQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjY4MykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIuY29tcHV0ZVVuZGVyUHJvZ3Jlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYzOSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MDcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Qcm9ncmVzc01hbmFnZXJJbXBsLmV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyhQcm9ncmVzc01hbmFnZXJJbXBsLmphdmE6NjApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLnJ1blByb2Nlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjE3NSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy51dGlsLkJhY2tncm91bmRUYXNrVXRpbC5ydW5VbmRlckRpc3Bvc2VBd2FyZUluZGljYXRvcihCYWNrZ3JvdW5kVGFza1V0aWwuamF2YTozNjUpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE1KEFjdGlvblVwZGF0ZXIuamF2YTozNTgpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvci5kb1J1bihCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjQxKQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IuYWNjZXNzJDIwMChCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MzEpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLmV4ZWN1dGUoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjIxNCkNCglhdCBjb20uaW50ZWxsaWoudXRpbC5Db25jdXJyZW5jeVV0aWwucnVuVW5kZXJUaHJlYWROYW1lKENvbmN1cnJlbmN5VXRpbC5qYXZhOjIxMikNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yJDEucnVuKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyMDMpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTEzNikNCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjM1KQ0KCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMSQxLnJ1bihFeGVjdXRvcnMuamF2YTo3MDIpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxJDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY5OSkNCglhdCBqYXZhLmJhc2UvamF2YS5zZWN1cml0eS5BY2Nlc3NDb250cm9sbGVyLmRvUHJpdmlsZWdlZChBY2Nlc3NDb250cm9sbGVyLmphdmE6Mzk5KQ0KCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMS5ydW4oRXhlY3V0b3JzLmphdmE6Njk5KQ0KCWF0IGphdmEuYmFzZS9qYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo4MzMpDQoKCgoyMDIyLTEyLTAxVDE0OjI2OjM1LjU2OApjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb246IFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZCAnZ2V0SWQnIGlzIGRlcHJlY2F0ZWQsIHlvdSBuZWVkIHRvIG92ZXJyaWRlIGl0IGluICdjbGFzcyBvcmcuaWNlMTAwMC5qdWxpYS5sYW5nLmV4ZWN1dGlvbi5KdWxpYVJ1bkNvbmZpZ3VyYXRpb25GYWN0b3J5Jy4gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZGVsZWdhdGVzIHRvICdnZXROYW1lJyB3aGljaCBtYXkgYmUgbG9jYWxpemVkLCBidXQgcmV0dXJuIHZhbHVlIG9mIHRoaXMgbWV0aG9kIG11c3Qgbm90IGRlcGVuZCBvbiBjdXJyZW50IGxvY2FsaXphdGlvbi4gW1BsdWdpbjogb3JnLmljZTEwMDAuanVsaWFdDQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luUHJvYmxlbVJlcG9ydGVySW1wbC5jcmVhdGVQbHVnaW5FeGNlcHRpb25CeUNsYXNzKFBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuamF2YToyMykNCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb24uY3JlYXRlQnlDbGFzcyhQbHVnaW5FeGNlcHRpb24uamF2YTo4MykNCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb24ucmVwb3J0RGVwcmVjYXRlZERlZmF1bHQoUGx1Z2luRXhjZXB0aW9uLmphdmE6MTEwKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uY29uZmlndXJhdGlvbnMuQ29uZmlndXJhdGlvbkZhY3RvcnkuZ2V0SWQoQ29uZmlndXJhdGlvbkZhY3RvcnkuamF2YTo3NSkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGxLdC5nZXRGYWN0b3J5S2V5KFJ1bk1hbmFnZXJJbXBsLmt0OjE0MDEpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsS3QuYWNjZXNzJGdldEZhY3RvcnlLZXkoUnVuTWFuYWdlckltcGwua3Q6MSkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGwuZ2V0Q29uZmlndXJhdGlvblRlbXBsYXRlKFJ1bk1hbmFnZXJJbXBsLmt0OjM0NCkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGwuY3JlYXRlQ29uZmlndXJhdGlvbihSdW5NYW5hZ2VySW1wbC5rdDoyNzIpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jbG9uZVRlbXBsYXRlQ29uZmlndXJhdGlvblN0YXRpYyhSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToyNTcpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jbG9uZVRlbXBsYXRlQ29uZmlndXJhdGlvbihSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToyNDcpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6OTYpDQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5maW5kT3JDcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MTk3KQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5QcmVmZXJyZWRQcm9kdWNlckZpbmQuZG9HZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KFByZWZlcnJlZFByb2R1Y2VyRmluZC5qYXZhOjExOCkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUHJlZmVycmVkUHJvZHVjZXJGaW5kLmdldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoUHJlZmVycmVkUHJvZHVjZXJGaW5kLmphdmE6MTAwKQ0KCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5QcmVmZXJyZWRQcm9kdWNlckZpbmQuY3JlYXRlQ29uZmlndXJhdGlvbihQcmVmZXJyZWRQcm9kdWNlckZpbmQuamF2YTozMikNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuY3JlYXRlQ29uZmlndXJhdGlvbihDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjIwNCkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZ2V0Q29uZmlndXJhdGlvbihDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjE5NSkNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uZnVsbFVwZGF0ZShCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjIyMykNCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24udXBkYXRlKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6MTg1KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLmxhbWJkYSRwZXJmb3JtRHVtYkF3YXJlVXBkYXRlJDAoQWN0aW9uVXRpbC5qYXZhOjE1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uZXguQWN0aW9uVXRpbC5wZXJmb3JtRHVtYkF3YXJlVXBkYXRlKEFjdGlvblV0aWwuamF2YToxNzMpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb1VwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjYwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJHVwZGF0ZUFjdGlvblJlYWwkNChBY3Rpb25VcGRhdGVyLmphdmE6MTI4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuY2FsbEFjdGlvbihBY3Rpb25VcGRhdGVyLmphdmE6MTczKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuY2FsbEFjdGlvbihBY3Rpb25VcGRhdGVyLmphdmE6MTUzKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudXBkYXRlQWN0aW9uUmVhbChBY3Rpb25VcGRhdGVyLmphdmE6MTI5KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJG5ldyQwKEFjdGlvblVwZGF0ZXIuamF2YToxMTYpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci51cGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjY0OSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRpdGVyYXRlR3JvdXBDaGlsZHJlbiQyMihBY3Rpb25VcGRhdGVyLmphdmE6NjEzKQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuRmlsdGVyZWRUcmF2ZXJzZXJCYXNlJE1ldGEuY2hpbGRyZW5JbXBsKEZpbHRlcmVkVHJhdmVyc2VyQmFzZS5qYXZhOjQzNykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkZpbHRlcmVkVHJhdmVyc2VyQmFzZSRNZXRhLmNoaWxkcmVuKEZpbHRlcmVkVHJhdmVyc2VyQmFzZS5qYXZhOjQyMykNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkZpbHRlcmVkVHJhdmVyc2VyQmFzZS5jaGlsZHJlbihGaWx0ZXJlZFRyYXZlcnNlckJhc2UuamF2YTozMDQpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5UcmVlVHJhdmVyc2FsJDIkMVdyYXBwZWRUcmVlLmZ1bihUcmVlVHJhdmVyc2FsLmphdmE6MTIxKQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuVHJlZVRyYXZlcnNhbCQyJDFXcmFwcGVkVHJlZS5mdW4oVHJlZVRyYXZlcnNhbC5qYXZhOjEwOCkNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLlRyZWVUcmF2ZXJzYWwkUC5pdGVyYWJsZShUcmVlVHJhdmVyc2FsLmphdmE6ODA1KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuVHJlZVRyYXZlcnNhbCRQLml0ZXJhdG9yKFRyZWVUcmF2ZXJzYWwuamF2YTo3OTkpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5UcmVlVHJhdmVyc2FsJExlYXZlc0Rmc0l0Lm5leHRJbXBsKFRyZWVUcmF2ZXJzYWwuamF2YTo1NzApDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5KQkl0ZXJhdG9yLnBlZWtOZXh0KEpCSXRlcmF0b3IuamF2YToxNTApDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5KQkl0ZXJhdG9yLmhhc05leHQoSkJJdGVyYXRvci5qYXZhOjExMCkNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkpCSXRlcmFibGUuc2l6ZShKQkl0ZXJhYmxlLmphdmE6MjQyKQ0KCWF0IGNvbS5pbnRlbGxpai5pZGUuYWN0aW9ucy5TbWFydFBvcHVwQWN0aW9uR3JvdXAudXBkYXRlKFNtYXJ0UG9wdXBBY3Rpb25Hcm91cC5qYXZhOjMwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLmxhbWJkYSRwZXJmb3JtRHVtYkF3YXJlVXBkYXRlJDAoQWN0aW9uVXRpbC5qYXZhOjE1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uZXguQWN0aW9uVXRpbC5wZXJmb3JtRHVtYkF3YXJlVXBkYXRlKEFjdGlvblV0aWwuamF2YToxNzMpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb1VwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjYwKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJHVwZGF0ZUFjdGlvblJlYWwkNChBY3Rpb25VcGRhdGVyLmphdmE6MTI4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuY2FsbEFjdGlvbihBY3Rpb25VcGRhdGVyLmphdmE6MTczKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuY2FsbEFjdGlvbihBY3Rpb25VcGRhdGVyLmphdmE6MTUzKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudXBkYXRlQWN0aW9uUmVhbChBY3Rpb25VcGRhdGVyLmphdmE6MTI5KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJG5ldyQwKEFjdGlvblVwZGF0ZXIuamF2YToxMTYpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci51cGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjY0OSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjQ5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTM5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjU1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTM5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjU1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTM5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjU1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTM5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjU1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTM5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjU1MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NzcpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTM5OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ3NykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YToyNzIpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cEFzeW5jJDEyKEFjdGlvblVwZGF0ZXIuamF2YTozNDApDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cEFzeW5jJDEzKEFjdGlvblVwZGF0ZXIuamF2YTozNTkpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYXBwbGljYXRpb24uaW1wbC5BcHBsaWNhdGlvbkltcGwudHJ5UnVuUmVhZEFjdGlvbihBcHBsaWNhdGlvbkltcGwuamF2YToxMTU0KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJHRyeVJ1blJlYWRBY3Rpb25BbmRDYW5jZWxCZWZvcmVXcml0ZSQxNyhBY3Rpb25VcGRhdGVyLmphdmE6MzkxKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLnV0aWwuUHJvZ3Jlc3NJbmRpY2F0b3JVdGlscy5ydW5BY3Rpb25BbmRDYW5jZWxCZWZvcmVXcml0ZShQcm9ncmVzc0luZGljYXRvclV0aWxzLmphdmE6MTU4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudHJ5UnVuUmVhZEFjdGlvbkFuZENhbmNlbEJlZm9yZVdyaXRlKEFjdGlvblVwZGF0ZXIuamF2YTozODcpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE0KEFjdGlvblVwZGF0ZXIuamF2YTozNTkpDQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmxhbWJkYSRydW5Qcm9jZXNzJDIoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjE4OCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIubGFtYmRhJGV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyQxMihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjA4KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5yZWdpc3RlckluZGljYXRvckFuZFJ1bihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjgzKQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5jb21wdXRlVW5kZXJQcm9ncmVzcyhDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjM5KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5leGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYwNykNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLlByb2dyZXNzTWFuYWdlckltcGwuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKFByb2dyZXNzTWFuYWdlckltcGwuamF2YTo2MCkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIucnVuUHJvY2VzcyhDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6MTc1KQ0KCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLnV0aWwuQmFja2dyb3VuZFRhc2tVdGlsLnJ1blVuZGVyRGlzcG9zZUF3YXJlSW5kaWNhdG9yKEJhY2tncm91bmRUYXNrVXRpbC5qYXZhOjM2NSkNCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTUoQWN0aW9uVXBkYXRlci5qYXZhOjM1OCkNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmRvUnVuKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyNDEpDQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvci5hY2Nlc3MkMjAwKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YTozMSkNCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yJDEuZXhlY3V0ZShCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjE0KQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLkNvbmN1cnJlbmN5VXRpbC5ydW5VbmRlclRocmVhZE5hbWUoQ29uY3VycmVuY3lVdGlsLmphdmE6MjEyKQ0KCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IkMS5ydW4oQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjIwMykNCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTM2KQ0KCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MzUpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxJDEucnVuKEV4ZWN1dG9ycy5qYXZhOjcwMikNCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEkMS5ydW4oRXhlY3V0b3JzLmphdmE6Njk5KQ0KCWF0IGphdmEuYmFzZS9qYXZhLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxlZ2VkKEFjY2Vzc0NvbnRyb2xsZXIuamF2YTozOTkpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxLnJ1bihFeGVjdXRvcnMuamF2YTo2OTkpDQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjgzMykNCg==
- title: [auto-generated:1246519348] null
- Julia Version:
- Plugin Name: Julia
- Plugin Version: 0.4.2
- OS Name: Windows 11
- Java Version: 17.0.4.1
- App Name: PyCharm
- App Full Name: PyCharm
- App Version name: PyCharm
- Is EAP: false
- App Build: PC-222.4345.23
- App Version: 2022.2.3
- Last Action: Unknown
- title: [auto-generated:1246519348] null
- Julia Version:
- Plugin Name: Julia
- Plugin Version: 0.4.2
- OS Name: Windows 11
- Java Version: 17.0.4.1
- App Name: PyCharm
- App Full Name: PyCharm
- App Version name: PyCharm
- Is EAP: false
- App Build: PC-222.4345.23
- App Version: 2022.2.3
- Last Action: Unknown
- title: [auto-generated:1246519348] null
- Julia Version:
- Plugin Name: Julia
- Plugin Version: 0.4.2
- OS Name: Windows 11
- Java Version: 17.0.4.1
- App Name: PyCharm
- App Full Name: PyCharm
- App Version name: PyCharm
- Is EAP: false
- App Build: PC-222.4345.23
- App Version: 2022.2.3
- Last Action: Unknown
- title: [auto-generated:1246519348] null
- Julia Version:
- Plugin Name: Julia
- Plugin Version: 0.4.2
- OS Name: Windows 11
- Java Version: 17.0.4.1
- App Name: PyCharm
- App Full Name: PyCharm
- App Version name: PyCharm
- Is EAP: false
- App Build: PC-222.4345.23
- App Version: 2022.2.3
- Last Action: Unknown
- title: [auto-generated:1246519348] null