Giter VIP home page Giter VIP logo

kikoguide's People

Contributors

blooym avatar dependabot[bot] avatar james-monkey avatar xxinvictus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

kikoguide's Issues

Feature: i18n support

Preflight Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

New or Existing?

New feature

Summary of your suggestion.

Adding i18n support with, preferably, Crowdin support as it is the one most XIVLauncher translators are used to.

Why should this be added or changed?

Increased accessibility (although it may be kinda heavy in terms of translations)

Feature: Refactoring of the Duty class

Preflight Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

New or Existing?

Improvement to existing feature

Summary of your suggestion.

Add multiple new methods to the duty class and decouple it away from the DutyManager, which should be an extension ONTOP of the Duty class instead of being so heavily tied to it

Why should this be added or changed?

This allows for other programs to hook into the Duty class and opens the door for future integrations with IPC

Bug: Tower of Babil/Zot mixed up

Pre-report Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

Bug Summary

The bosses for the Tower of Babil and Tower of Zot are switched in the jsons.

Steps To Reproduce

No response

Dalamud.log Output

No response

Operating System

Windows

Additional Information

No response

Bug: Missing Wotsit IPC causes Dalamud config saving to fail.

Pre-report Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

Bug Summary

Full context: https://discord.com/channels/581875019861328007/1019645221417533460/1060911145453621248

Bug could not be replicated after installing Wotsit.

Steps To Reproduce

Uninstall Wotsit
Restart game
Change a setting in /xlsettings, try to Save.

Dalamud.log Output

2023-01-06 14:23:28.609 +01:00 [ERR] [Dalamud] Error during OnDraw
Dalamud.Plugin.Ipc.Exceptions.IpcNotReadyError: IPC method FA.UnregisterAll was not registered yet
   at Dalamud.Plugin.Ipc.Internal.CallGateChannel.InvokeFunc[TRet](Object[] args) in C:\goatsoft\companysecrets\dalamud\Plugin\Ipc\Internal\CallGateChannel.cs:line 90
   at Dalamud.Plugin.Ipc.Internal.CallGatePubSub`2.InvokeFunc(T1 arg1) in C:\goatsoft\companysecrets\dalamud\Plugin\Ipc\Internal\CallGatePubSub.cs:line 80
   at KikoGuide.IPC.Providers.WotsitIPC.OnLanguageChange(String language) in /work/repo/KikoGuide/IPC/Providers/Wotsit.cs:line 175
   at Dalamud.Localization.SetupWithFallbacks() in C:\goatsoft\companysecrets\dalamud\Localization.cs:line 111
   at Dalamud.Localization.SetupWithLangCode(String langCode) in C:\goatsoft\companysecrets\dalamud\Localization.cs:line 123
   at Dalamud.Interface.Internal.Windows.SettingsWindow.Save() in C:\goatsoft\companysecrets\dalamud\Interface\Internal\Windows\SettingsWindow.cs:line 909
   at Dalamud.Interface.Internal.Windows.SettingsWindow.DrawSaveCloseButtons() in C:\goatsoft\companysecrets\dalamud\Interface\Internal\Windows\SettingsWindow.cs:line 900
   at Dalamud.Interface.Internal.Windows.SettingsWindow.Draw() in C:\goatsoft\companysecrets\dalamud\Interface\Internal\Windows\SettingsWindow.cs:line 218
   at Dalamud.Interface.Windowing.Window.DrawInternal() in C:\goatsoft\companysecrets\dalamud\Interface\Windowing\Window.cs:line 209
   at Dalamud.Interface.Windowing.WindowSystem.Draw() in C:\goatsoft\companysecrets\dalamud\Interface\Windowing\WindowSystem.cs:line 104
   at Dalamud.Interface.Internal.DalamudInterface.OnDraw() in C:\goatsoft\companysecrets\dalamud\Interface\Internal\DalamudInterface.cs:line 444

Operating System

Windows

Additional Information

No response

Bug: UiBuilder OnBuildUi caught exception

Pre-report Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

Bug Summary

Plugin will not launch with 6.2.

Steps To Reproduce

  1. Install plugin
  2. Attempt to launch config settings
  3. Dalamud error dialog displayed

Dalamud.log Output

2022-08-26 09:37:19.444 -05:00 [INF] [PLUGINM] Installed plugin Kiko Guide (testing=True)
2022-08-26 09:37:19.444 -05:00 [INF] [PLUGINM] Loading plugin Kiko Guide
2022-08-26 09:37:19.486 -05:00 [INF] [LOCALPLUGIN] Loading KikoGuide.dll
2022-08-26 09:37:19.494 -05:00 [INF] [LOCALPLUGIN] Finished loading KikoGuide.dll
2022-08-26 09:37:19.495 -05:00 [INF] TROUBLESHOOTING:eyJMb2FkZWRQbHVnaW5zIjpbeyJEaXNhYmxlZCI6ZmFsc2UsIlRlc3RpbmciOmZhbHNlLCJTY2hlZHVsZWRGb3JEZWxldGlvbiI6ZmFsc2UsIkluc3RhbGxlZEZyb21VcmwiOm51bGwsIklzVGhpcmRQYXJ0eSI6ZmFsc2UsIkVmZmVjdGl2ZVZlcnNpb24iOiIyLjEuMi4wIiwiQXV0aG9yIjoiZGFlbWl0dXMiLCJOYW1lIjoiZXpXb25kcm91c1RhaWxzIiwiUHVuY2hsaW5lIjoiQWRkcyByb3cgcHJvYmFiaWxpdGllcyB0byB0aGUgV29uZHJvdXMgVGFpbHMgZGlzcGxheS4iLCJEZXNjcmlwdGlvbiI6IlRoaXMgcGx1Z2luIHByaW50cyB0aGUgcHJvYmFiaWxpdHkgb2YgZ2V0dGluZyBhIHJvdyBpbiBXb25kcm91cyBUYWlscyB0byB0aGUgaW4tZ2FtZSBkaXNwbGF5IGFsb25nIHdpdGggdGhlIGF2ZXJhZ2UgcHJvYmFiaWxpdHkgb2Ygd2hhdCB3b3VsZCBoYXBwZW4gaWYgeW91IHNodWZmbGVkLiIsIkNoYW5nZWxvZyI6bnVsbCwiVGFncyI6bnVsbCwiQ2F0ZWdvcnlUYWdzIjpudWxsLCJJc0hpZGUiOmZhbHNlLCJJbnRlcm5hbE5hbWUiOiJXb25kcm91c1RhaWxzU29sdmVyIiwiQXNzZW1ibHlWZXJzaW9uIjoiMi4xLjIuMCIsIlRlc3RpbmdBc3NlbWJseVZlcnNpb24iOm51bGwsIklzVGVzdGluZ0V4Y2x1c2l2ZSI6ZmFsc2UsIlJlcG9VcmwiOiJodHRwczovL2dpdGh1Yi5jb20vZGFlbWl0dXMvV29uZHJvdXNUYWlsc1NvbHZlciIsIkFwcGxpY2FibGVWZXJzaW9uIjoiYW55IiwiRGFsYW11ZEFwaUxldmVsIjo2LCJEb3dubG9hZENvdW50IjoxODIwNTIsIkxhc3RVcGRhdGUiOjE2NDk5Njg1NDAsIkRvd25sb2FkTGlua0luc3RhbGwiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZ29hdGNvcnAvRGFsYW11ZFBsdWdpbnMvYXBpNi9wbHVnaW5zL1dvbmRyb3VzVGFpbHNTb2x2ZXIvbGF0ZXN0LnppcCIsIkRvd25sb2FkTGlua1VwZGF0ZSI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb2F0Y29ycC9EYWxhbXVkUGx1Z2lucy9hcGk2L3BsdWdpbnMvV29uZHJvdXNUYWlsc1NvbHZlci9sYXRlc3QuemlwIiwiRG93bmxvYWRMaW5rVGVzdGluZyI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb2F0Y29ycC9EYWxhbXVkUGx1Z2lucy9hcGk2L3Rlc3RpbmcvV29uZHJvdXNUYWlsc1NvbHZlci9sYXRlc3QuemlwIiwiTG9hZFJlcXVpcmVkU3RhdGUiOjAsIkxvYWRTeW5jIjpmYWxzZSwiTG9hZFByaW9yaXR5IjowLCJDYW5VbmxvYWRBc3luYyI6ZmFsc2UsIkltYWdlVXJscyI6WyJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZGFlbWl0dXMvV29uZHJvdXNUYWlsc1NvbHZlci9tYXN0ZXIvcmVzL2ltYWdlMS5wbmciXSwiSWNvblVybCI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9kYWVtaXR1cy9Xb25kcm91c1RhaWxzU29sdmVyL21hc3Rlci9yZXMvaWNvbi5wbmciLCJBY2NlcHRzRmVlZGJhY2siOnRydWUsIkZlZWRiYWNrTWVzc2FnZSI6bnVsbCwiX2lzRGlwMTdQbHVnaW4iOmZhbHNlLCJfRGlwMTdDaGFubmVsIjpudWxsfSx7IkRpc2FibGVkIjpmYWxzZSwiVGVzdGluZyI6ZmFsc2UsIlNjaGVkdWxlZEZvckRlbGV0aW9uIjpmYWxzZSwiSW5zdGFsbGVkRnJvbVVybCI6Ik9GRklDSUFMIiwiSXNUaGlyZFBhcnR5IjpmYWxzZSwiRWZmZWN0aXZlVmVyc2lvbiI6IjEuMC4wLjMiLCJBdXRob3IiOiJQdW5pc2hlZFBpbmVhcHBsZSIsIk5hbWUiOiJTYXkgV2hhdD8iLCJQdW5jaGxpbmUiOiJQZXJzaXN0ZW50IE5QQyBGbGF2b3IgVGV4dCIsIkRlc2NyaXB0aW9uIjoiUHJpbnRzIE5QQyBzcGVlY2ggYnViYmxlcyB0byB0aGUgY2hhdCBsb2cuICBQbGVhc2UgY2hlY2sgdGhlIHBsdWdpbiBzZXR0aW5ncyBhbmQgeW91ciBjaGF0IGxvZyBmaWx0ZXJzIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZXkgYXJlIGNvbXBhdGlibGUgd2l0aCBlYWNoIG90aGVyLiIsIkNoYW5nZWxvZyI6IlVwZGF0ZWQgZm9yIERhbGFtdWQgQVBJNyIsIlRhZ3MiOlsiQ2hhdCIsIk5QQyJdLCJDYXRlZ29yeVRhZ3MiOm51bGwsIklzSGlkZSI6dHJ1ZSwiSW50ZXJuYWxOYW1lIjoiV2hhdERpZFlvdVNheSIsIkFzc2VtYmx5VmVyc2lvbiI6IjEuMC4wLjMiLCJUZXN0aW5nQXNzZW1ibHlWZXJzaW9uIjpudWxsLCJJc1Rlc3RpbmdFeGNsdXNpdmUiOmZhbHNlLCJSZXBvVXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL1B1bmlzaGVkUGluZWFwcGxlL1doYXREaWRZb3VTYXkiLCJBcHBsaWNhYmxlVmVyc2lvbiI6ImFueSIsIkRhbGFtdWRBcGlMZXZlbCI6NywiRG93bmxvYWRDb3VudCI6NjI3OSwiTGFzdFVwZGF0ZSI6MTY2MTM1NTE1MCwiRG93bmxvYWRMaW5rSW5zdGFsbCI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvV2hhdERpZFlvdVNheT9pc1VwZGF0ZT1GYWxzZSZpc1Rlc3Rpbmc9RmFsc2UmYnJhbmNoPWFwaTYmaXNEaXAxNz1UcnVlIiwiRG93bmxvYWRMaW5rVXBkYXRlIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvYXRjb3JwL0RhbGFtdWRQbHVnaW5zL2FwaTYvcGx1Z2lucy9XaGF0RGlkWW91U2F5L2xhdGVzdC56aXAiLCJEb3dubG9hZExpbmtUZXN0aW5nIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9XaGF0RGlkWW91U2F5P2lzVXBkYXRlPUZhbHNlJmlzVGVzdGluZz1UcnVlJmJyYW5jaD1hcGk2JmlzRGlwMTc9VHJ1ZSIsIkxvYWRSZXF1aXJlZFN0YXRlIjowLCJMb2FkU3luYyI6ZmFsc2UsIkxvYWRQcmlvcml0eSI6MCwiQ2FuVW5sb2FkQXN5bmMiOmZhbHNlLCJJbWFnZVVybHMiOlsiaHR0cHM6Ly9naXRodWIuY29tL1B1bmlzaGVkUGluZWFwcGxlL1doYXREaWRZb3VTYXkvcmF3L21haW4vZG9jcy9JbWFnZXMvaW1hZ2UxLnBuZyIsImh0dHBzOi8vZ2l0aHViLmNvbS9QdW5pc2hlZFBpbmVhcHBsZS9XaGF0RGlkWW91U2F5L3Jhdy9tYWluL2RvY3MvSW1hZ2VzL2ltYWdlMi5wbmciXSwiSWNvblVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9QdW5pc2hlZFBpbmVhcHBsZS9XaGF0RGlkWW91U2F5L3Jhdy9tYWluL2RvY3MvSW1hZ2VzL2ljb24ucG5nIiwiQWNjZXB0c0ZlZWRiYWNrIjp0cnVlLCJGZWVkYmFja01lc3NhZ2UiOm51bGwsIl9pc0RpcDE3UGx1Z2luIjp0cnVlLCJfRGlwMTdDaGFubmVsIjoic3RhYmxlIn0seyJEaXNhYmxlZCI6ZmFsc2UsIlRlc3RpbmciOmZhbHNlLCJTY2hlZHVsZWRGb3JEZWxldGlvbiI6ZmFsc2UsIkluc3RhbGxlZEZyb21VcmwiOiJPRkZJQ0lBTCIsIklzVGhpcmRQYXJ0eSI6ZmFsc2UsIkVmZmVjdGl2ZVZlcnNpb24iOiIxLjcuMC4xIiwiQXV0aG9yIjoiTWdBbDJPNCIsIk5hbWUiOiJUcmlhZEJ1ZGR5IiwiUHVuY2hsaW5lIjoiVHJpcGxlIHRyaWFkIHNvbHZlciIsIkRlc2NyaXB0aW9uIjoiVHJpcGxlIHRyaWFkIHNvbHZlciwgTlBDIG1hdGNoZXMgb25seS5cbi0gaGlnaGxpZ2h0cyBuZXh0IG1vdmUgZHVyaW5nIG1pbmkgZ2FtZVxuLSBldmFsdWF0ZXMgYWxsIGRlY2sgcHJlc2V0cyBiZWZvcmUgbWF0Y2hcbi0gZGVjayBvcHRpbWl6ZXIgZm9yIE5QQ1xuLSBhZGRzIG1vcmUgZGV0YWlscyB0byBjYXJkIGNvbGxlY3Rpb24gd2luZG93IiwiQ2hhbmdlbG9nIjpudWxsLCJUYWdzIjpbInNvbHZlciIsInRyaWFkIiwidHJpcGxlIHRyaWFkIl0sIkNhdGVnb3J5VGFncyI6bnVsbCwiSXNIaWRlIjp0cnVlLCJJbnRlcm5hbE5hbWUiOiJUcmlhZEJ1ZGR5IiwiQXNzZW1ibHlWZXJzaW9uIjoiMS43LjAuMSIsIlRlc3RpbmdBc3NlbWJseVZlcnNpb24iOm51bGwsIklzVGVzdGluZ0V4Y2x1c2l2ZSI6ZmFsc2UsIlJlcG9VcmwiOm51bGwsIkFwcGxpY2FibGVWZXJzaW9uIjoiYW55IiwiRGFsYW11ZEFwaUxldmVsIjo3LCJEb3dubG9hZENvdW50Ijo0NDMwMiwiTGFzdFVwZGF0ZSI6MTY2MTI5MzIxMywiRG93bmxvYWRMaW5rSW5zdGFsbCI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvVHJpYWRCdWRkeT9pc1VwZGF0ZT1GYWxzZSZpc1Rlc3Rpbmc9RmFsc2UmYnJhbmNoPWFwaTYmaXNEaXAxNz1UcnVlIiwiRG93bmxvYWRMaW5rVXBkYXRlIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvYXRjb3JwL0RhbGFtdWRQbHVnaW5zL2FwaTYvcGx1Z2lucy9UcmlhZEJ1ZGR5L2xhdGVzdC56aXAiLCJEb3dubG9hZExpbmtUZXN0aW5nIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9UcmlhZEJ1ZGR5P2lzVXBkYXRlPUZhbHNlJmlzVGVzdGluZz1UcnVlJmJyYW5jaD1hcGk2JmlzRGlwMTc9VHJ1ZSIsIkxvYWRSZXF1aXJlZFN0YXRlIjowLCJMb2FkU3luYyI6ZmFsc2UsIkxvYWRQcmlvcml0eSI6MCwiQ2FuVW5sb2FkQXN5bmMiOmZhbHNlLCJJbWFnZVVybHMiOm51bGwsIkljb25VcmwiOm51bGwsIkFjY2VwdHNGZWVkYmFjayI6dHJ1ZSwiRmVlZGJhY2tNZXNzYWdlIjpudWxsLCJfaXNEaXAxN1BsdWdpbiI6dHJ1ZSwiX0RpcDE3Q2hhbm5lbCI6InN0YWJsZSJ9LHsiRGlzYWJsZWQiOmZhbHNlLCJUZXN0aW5nIjpmYWxzZSwiU2NoZWR1bGVkRm9yRGVsZXRpb24iOmZhbHNlLCJJbnN0YWxsZWRGcm9tVXJsIjoiT0ZGSUNJQUwiLCJJc1RoaXJkUGFydHkiOmZhbHNlLCJFZmZlY3RpdmVWZXJzaW9uIjoiMS4yLjkiLCJBdXRob3IiOiJhc2NjbGVtZW5zIiwiTmFtZSI6IlRvdXJpc3QiLCJQdW5jaGxpbmUiOiJGaW5pc2ggeW91ciBzaWdodHNlZWluZyBsb2cuIiwiRGVzY3JpcHRpb24iOiJUb3VyaXN0IGFkZHMgYSB3aW5kb3cgdG8gYXNzaXN0IHdpdGggdGhlIHNpZ2h0c2VlaW5nIGxvZy5cblxuLSBTaG93IHdoZW4gc2lnaHRzZWVpbmcgbG9nIHZpc3RhcyBhcmUgYXZhaWxhYmxlXG4tIEFkZCBtYXJrZXJzIGZvciBBUlIgdmlzdGFzXG4tIE9wZW4gdmlzdGEgbG9jYXRpb25zIG9uIHlvdXIgbWFwXG4tIEhpZGUgYWxyZWFkeSBjb21wbGV0ZWQgb3IgdW5hdmFpbGFibGUgdmlzdGFzXG4tIFNob3cgdGhlIGNvbW1hbmQgbmVlZGVkIGZvciBlYWNoIHZpc3RhXG5cbkljb246IHNpZ2h0c2VlaW5nIGJ5IG11aGFtbWFkIGZyb20gdGhlIE5vdW4gUHJvamVjdCIsIkNoYW5nZWxvZyI6IkFQSSA3IiwiVGFncyI6bnVsbCwiQ2F0ZWdvcnlUYWdzIjpudWxsLCJJc0hpZGUiOnRydWUsIkludGVybmFsTmFtZSI6IlRvdXJpc3QiLCJBc3NlbWJseVZlcnNpb24iOiIxLjIuOSIsIlRlc3RpbmdBc3NlbWJseVZlcnNpb24iOm51bGwsIklzVGVzdGluZ0V4Y2x1c2l2ZSI6ZmFsc2UsIlJlcG9VcmwiOiJodHRwczovL2dpdC5hbm5hY2xlbWVucy5pby9hc2NjbGVtZW5zL1RvdXJpc3QiLCJBcHBsaWNhYmxlVmVyc2lvbiI6ImFueSIsIkRhbGFtdWRBcGlMZXZlbCI6NywiRG93bmxvYWRDb3VudCI6NjY5NjQsIkxhc3RVcGRhdGUiOjE2NjEzNzk5MjMsIkRvd25sb2FkTGlua0luc3RhbGwiOiJodHRwczovL2thbW9yaS5nb2F0cy5kZXYvUGx1Z2luL0Rvd25sb2FkL1RvdXJpc3Q/aXNVcGRhdGU9RmFsc2UmaXNUZXN0aW5nPUZhbHNlJmJyYW5jaD1hcGk2JmlzRGlwMTc9VHJ1ZSIsIkRvd25sb2FkTGlua1VwZGF0ZSI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb2F0Y29ycC9EYWxhbXVkUGx1Z2lucy9hcGk2L3BsdWdpbnMvVG91cmlzdC9sYXRlc3QuemlwIiwiRG93bmxvYWRMaW5rVGVzdGluZyI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvVG91cmlzdD9pc1VwZGF0ZT1GYWxzZSZpc1Rlc3Rpbmc9VHJ1ZSZicmFuY2g9YXBpNiZpc0RpcDE3PVRydWUiLCJMb2FkUmVxdWlyZWRTdGF0ZSI6MCwiTG9hZFN5bmMiOmZhbHNlLCJMb2FkUHJpb3JpdHkiOjAsIkNhblVubG9hZEFzeW5jIjpmYWxzZSwiSW1hZ2VVcmxzIjpudWxsLCJJY29uVXJsIjpudWxsLCJBY2NlcHRzRmVlZGJhY2siOnRydWUsIkZlZWRiYWNrTWVzc2FnZSI6bnVsbCwiX2lzRGlwMTdQbHVnaW4iOnRydWUsIl9EaXAxN0NoYW5uZWwiOiJzdGFibGUifSx7IkRpc2FibGVkIjpmYWxzZSwiVGVzdGluZyI6ZmFsc2UsIlNjaGVkdWxlZEZvckRlbGV0aW9uIjpmYWxzZSwiSW5zdGFsbGVkRnJvbVVybCI6Ik9GRklDSUFMIiwiSXNUaGlyZFBhcnR5IjpmYWxzZSwiRWZmZWN0aXZlVmVyc2lvbiI6IjEuNy42LjEiLCJBdXRob3IiOiJDYXJheGkiLCJOYW1lIjoiU2ltcGxlIFR3ZWFrcyBQbHVnaW4iLCJQdW5jaGxpbmUiOiJUaGlzIHdhcyBzdXBwb3NlZCB0byBiZSBzaW1wbGUuLi4iLCJEZXNjcmlwdGlvbiI6IkEgY29sbGVjdGlvbiBvZiBRdWFsaXR5IG9mIExpZmUgdHdlYWtzLiBBaW1pbmcgdG8gaW1wcm92ZSB0aGUgZXhwZXJpZW5jZSB3aXRob3V0IGNoYW5naW5nIGFueXRoaW5nIGRyYXN0aWNhbGx5LlxuQWxsIGNoYW5nZXMgYXJlIHRvZ2dsZWFibGUsIHdpdGggZXZlcnl0aGluZyBkaXNhYmxlZCBieSBkZWZhdWx0LiBWaXNpdCB0aGUgUmVwbyBmb3IgYSBmdWxsIGxpc3Qgb2YgdHdlYWtzLiAoR2xvYmUgaWNvbiBiZWxvdykiLCJDaGFuZ2Vsb2ciOm51bGwsIlRhZ3MiOm51bGwsIkNhdGVnb3J5VGFncyI6bnVsbCwiSXNIaWRlIjp0cnVlLCJJbnRlcm5hbE5hbWUiOiJTaW1wbGVUd2Vha3NQbHVnaW4iLCJBc3NlbWJseVZlcnNpb24iOiIxLjcuNi4xIiwiVGVzdGluZ0Fzc2VtYmx5VmVyc2lvbiI6IjAuMS40LjAiLCJJc1Rlc3RpbmdFeGNsdXNpdmUiOmZhbHNlLCJSZXBvVXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL0NhcmF4aS9TaW1wbGVUd2Vha3NQbHVnaW4iLCJBcHBsaWNhYmxlVmVyc2lvbiI6ImFueSIsIkRhbGFtdWRBcGlMZXZlbCI6NywiRG93bmxvYWRDb3VudCI6MTQxODY2MiwiTGFzdFVwZGF0ZSI6MTY2MTQwODI4NSwiRG93bmxvYWRMaW5rSW5zdGFsbCI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvU2ltcGxlVHdlYWtzUGx1Z2luP2lzVXBkYXRlPUZhbHNlJmlzVGVzdGluZz1GYWxzZSZicmFuY2g9YXBpNiZpc0RpcDE3PUZhbHNlIiwiRG93bmxvYWRMaW5rVXBkYXRlIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvYXRjb3JwL0RhbGFtdWRQbHVnaW5zL2FwaTYvcGx1Z2lucy9TaW1wbGVUd2Vha3NQbHVnaW4vbGF0ZXN0LnppcCIsIkRvd25sb2FkTGlua1Rlc3RpbmciOiJodHRwczovL2thbW9yaS5nb2F0cy5kZXYvUGx1Z2luL0Rvd25sb2FkL1NpbXBsZVR3ZWFrc1BsdWdpbj9pc1VwZGF0ZT1GYWxzZSZpc1Rlc3Rpbmc9VHJ1ZSZicmFuY2g9YXBpNiZpc0RpcDE3PUZhbHNlIiwiTG9hZFJlcXVpcmVkU3RhdGUiOjAsIkxvYWRTeW5jIjpmYWxzZSwiTG9hZFByaW9yaXR5IjowLCJDYW5VbmxvYWRBc3luYyI6ZmFsc2UsIkltYWdlVXJscyI6bnVsbCwiSWNvblVybCI6bnVsbCwiQWNjZXB0c0ZlZWRiYWNrIjp0cnVlLCJGZWVkYmFja01lc3NhZ2UiOm51bGwsIl9pc0RpcDE3UGx1Z2luIjpmYWxzZSwiX0RpcDE3Q2hhbm5lbCI6bnVsbH0seyJEaXNhYmxlZCI6ZmFsc2UsIlRlc3RpbmciOmZhbHNlLCJTY2hlZHVsZWRGb3JEZWxldGlvbiI6ZmFsc2UsIkluc3RhbGxlZEZyb21VcmwiOiJPRkZJQ0lBTCIsIklzVGhpcmRQYXJ0eSI6ZmFsc2UsIkVmZmVjdGl2ZVZlcnNpb24iOiIxLjIuNC4xIiwiQXV0aG9yIjoiT3R0ZXJtYW5kaWFzIiwiTmFtZSI6IlJlelBscyIsIlB1bmNobGluZSI6IkhpZ2hsaWdodGluZyBvZiBSYWlzZXMgYW5kIGRldHJpbWVudGFsIHN0YXR1cyBlZmZlY3RzLiIsIkRlc2NyaXB0aW9uIjoiRWFzeSBvdmVydmlldyBhYm91dCB3aG8gaXMgY3VycmVudGx5IHJlc3VycmVjdGluZyB3aG8sXG53aG8gaXMgYWxyZWFkeSByZXN1cnJlY3RlZCxcbmFuZCB3aG8gaGFzIHJlbW92YWJsZSBkZXRyaW1lbnRhbCBzdGF0dXMgZWZmZWN0cyBpbiB0aGUgd29ybGQgXG5hcyB3ZWxsIGFzIGluIHRoZSBncm91cCBvciBhbGxpYW5jZSBpbnRlcmZhY2UuIiwiQ2hhbmdlbG9nIjoiVXBkYXRlZCBmb3IgRGFsYW11ZCBzdGFnaW5nLiIsIlRhZ3MiOlsiUmVzdXJyZWN0aW9uIiwiUmFpc2UiLCJEZWJ1ZmYiLCJDb25kaXRpb24iLCJTdGF0dXMgRWZmZWN0IiwiQ2xlYW5zZSIsIkVzdW5hIiwiSGlnaGxpZ2h0IiwiSW50ZXJmYWNlIl0sIkNhdGVnb3J5VGFncyI6bnVsbCwiSXNIaWRlIjp0cnVlLCJJbnRlcm5hbE5hbWUiOiJSZXpQbHMiLCJBc3NlbWJseVZlcnNpb24iOiIxLjIuNC4xIiwiVGVzdGluZ0Fzc2VtYmx5VmVyc2lvbiI6bnVsbCwiSXNUZXN0aW5nRXhjbHVzaXZlIjpmYWxzZSwiUmVwb1VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9PdHRlcm1hbmRpYXMvUmV6UGxzIiwiQXBwbGljYWJsZVZlcnNpb24iOiJhbnkiLCJEYWxhbXVkQXBpTGV2ZWwiOjcsIkRvd25sb2FkQ291bnQiOjgwOTk4LCJMYXN0VXBkYXRlIjoxNjYxMzQ0MTg1LCJEb3dubG9hZExpbmtJbnN0YWxsIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9SZXpQbHM/aXNVcGRhdGU9RmFsc2UmaXNUZXN0aW5nPUZhbHNlJmJyYW5jaD1hcGk2JmlzRGlwMTc9VHJ1ZSIsIkRvd25sb2FkTGlua1VwZGF0ZSI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb2F0Y29ycC9EYWxhbXVkUGx1Z2lucy9hcGk2L3BsdWdpbnMvUmV6UGxzL2xhdGVzdC56aXAiLCJEb3dubG9hZExpbmtUZXN0aW5nIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9SZXpQbHM/aXNVcGRhdGU9RmFsc2UmaXNUZXN0aW5nPVRydWUmYnJhbmNoPWFwaTYmaXNEaXAxNz1UcnVlIiwiTG9hZFJlcXVpcmVkU3RhdGUiOjAsIkxvYWRTeW5jIjpmYWxzZSwiTG9hZFByaW9yaXR5IjowLCJDYW5VbmxvYWRBc3luYyI6ZmFsc2UsIkltYWdlVXJscyI6bnVsbCwiSWNvblVybCI6bnVsbCwiQWNjZXB0c0ZlZWRiYWNrIjp0cnVlLCJGZWVkYmFja01lc3NhZ2UiOm51bGwsIl9pc0RpcDE3UGx1Z2luIjp0cnVlLCJfRGlwMTdDaGFubmVsIjoic3RhYmxlIn0seyJEaXNhYmxlZCI6ZmFsc2UsIlRlc3RpbmciOmZhbHNlLCJTY2hlZHVsZWRGb3JEZWxldGlvbiI6ZmFsc2UsIkluc3RhbGxlZEZyb21VcmwiOiJPRkZJQ0lBTCIsIklzVGhpcmRQYXJ0eSI6ZmFsc2UsIkVmZmVjdGl2ZVZlcnNpb24iOiIxLjUuMC4xIiwiQXV0aG9yIjoidGVzdSIsIk5hbWUiOiJQZW5ueSBQaW5jaGVyIiwiUHVuY2hsaW5lIjoiQ29waWVzIDEgYmVsb3cgdGhlIGNoZWFwZXN0IG9mZmVyIHRvIHlvdXIgY2xpcGJvYXJkIHdoZW4geW91IGNoZWNrIG1hcmtldGJvYXJkIHByaWNlcyIsIkRlc2NyaXB0aW9uIjoiUGx1Z2luIGZvciBzaW1wbGlmeWluZyBcInBlbm55aW5nXCIgKHVuZGVyY3V0dGluZyBjdXJyZW50IGxvd2VzdCBvZmZlciBieSAxKS5cblxuVGhlIHVzdWFsIHdvcmtmbG93IGZvciB0aGlzIGlzIHRoZSBmb2xsb3dpbmc6XG4xLiBPcGVuIHVwIHRoZSBhZGp1c3QgcHJpY2UgbWVudSBmb3IgdGhlIGl0ZW0geW91J3JlIHVuZGVyY3V0dGluZ1xuMi4gQ2xpY2sgb24gdGhlIGNvbXBhcmUgcHJpY2VzIG1lbnUgdG8gdmlldyB0aGUgY3VycmVudCBsaXN0aW5nc1xuMy4gVGFrZSBhIG1lbnRhbCBub3RlIG9mIHdoYXQgdGhlIGN1cnJlbnQgbG93ZXN0IG9mZmVyIGlzXG40LiBTdWJ0cmFjdCBvbmUgZnJvbSBpdFxuNS4gQ2xvc2UgdGhlIGN1cnJlbnQgbGlzdGluZ3Mgd2luZG93XG42LiBVcGRhdGUgeW91ciBpdGVtJ3MgcHJpY2Ugd2l0aCB0aGUgbnVtYmVyIHlvdSBub3RlZFxuNy4gQ29uZmlybSB5b3VyIG5ldyBwcmljZVxuXG5UaGlzIHBsdWdpbiBlbGltaW5hdGVzIHRoZSBtZW50YWwgbm90ZWtlZXBpbmcgc3RlcHMgaW4gdGhlIG1pZGRsZSBieSBhdXRvbWF0aWNhbGx5IGNvcHlpbmcgdGhlIG51bWJlciB5b3Ugd2FudCBvbnRvIHlvdXIgY2xpcGJvYXJkIHdoZW4geW91IG9wZW4gdGhlIGN1cnJlbnQgbGlzdGluZ3Mgd2luZG93LiAgXG5cblRoZXJlZm9yZSwgeW91ciBuZXcgd29ya2Zsb3cgYmVjb21lcyB0aGlzOlxuMS4gT3BlbiB1cCB0aGUgYWRqdXN0IHByaWNlIG1lbnUgZm9yIHRoZSBpdGVtIHlvdSdyZSB1bmRlcmN1dHRpbmdcbjIuIENsaWNrIG9uIHRoZSBjb21wYXJlIHByaWNlcyBtZW51IHRvIHZpZXcgdGhlIGN1cnJlbnQgbGlzdGluZ3NcbjMuIENsb3NlIHRoZSBjdXJyZW50IGxpc3RpbmdzIHdpbmRvd1xuNC4gUGFzdGUgdGhlIHVuZGVyY3V0IHZhbHVlIGluXG41LiBDb25maXJtIHlvdXIgbmV3IHByaWNlXG5cblRoaXMgYm90aCBzcGVlZHMgdXAgdGhlIHByb2Nlc3MgYW5kIHJlZHVjZXMgcm9vbSBmb3IgZXJyb3IgZnJvbSB0eXBvcy4iLCJDaGFuZ2Vsb2ciOiIuTkVUIDYgdXBkYXRlIiwiVGFncyI6WyJtYXJrZXRib2FyZCIsInVuZGVyY3V0IiwicGVubnkiLCJjbGlwYm9hcmQiXSwiQ2F0ZWdvcnlUYWdzIjpudWxsLCJJc0hpZGUiOnRydWUsIkludGVybmFsTmFtZSI6IlBlbm55UGluY2hlciIsIkFzc2VtYmx5VmVyc2lvbiI6IjEuNS4wLjEiLCJUZXN0aW5nQXNzZW1ibHlWZXJzaW9uIjpudWxsLCJJc1Rlc3RpbmdFeGNsdXNpdmUiOmZhbHNlLCJSZXBvVXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3UvUGVubnlQaW5jaGVyIiwiQXBwbGljYWJsZVZlcnNpb24iOiJhbnkiLCJEYWxhbXVkQXBpTGV2ZWwiOjcsIkRvd25sb2FkQ291bnQiOjIxMzgyMiwiTGFzdFVwZGF0ZSI6MTY2MTIwNTIwNiwiRG93bmxvYWRMaW5rSW5zdGFsbCI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvUGVubnlQaW5jaGVyP2lzVXBkYXRlPUZhbHNlJmlzVGVzdGluZz1GYWxzZSZicmFuY2g9YXBpNiZpc0RpcDE3PVRydWUiLCJEb3dubG9hZExpbmtVcGRhdGUiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZ29hdGNvcnAvRGFsYW11ZFBsdWdpbnMvYXBpNi9wbHVnaW5zL1Blbm55UGluY2hlci9sYXRlc3QuemlwIiwiRG93bmxvYWRMaW5rVGVzdGluZyI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvUGVubnlQaW5jaGVyP2lzVXBkYXRlPUZhbHNlJmlzVGVzdGluZz1UcnVlJmJyYW5jaD1hcGk2JmlzRGlwMTc9VHJ1ZSIsIkxvYWRSZXF1aXJlZFN0YXRlIjowLCJMb2FkU3luYyI6ZmFsc2UsIkxvYWRQcmlvcml0eSI6MCwiQ2FuVW5sb2FkQXN5bmMiOmZhbHNlLCJJbWFnZVVybHMiOltdLCJJY29uVXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3Rlc3UvUGVubnlQaW5jaGVyL3Jhdy9tYXN0ZXIvaW1hZ2VzL2ljb24ucG5nIiwiQWNjZXB0c0ZlZWRiYWNrIjp0cnVlLCJGZWVkYmFja01lc3NhZ2UiOm51bGwsIl9pc0RpcDE3UGx1Z2luIjp0cnVlLCJfRGlwMTdDaGFubmVsIjoic3RhYmxlIn0seyJEaXNhYmxlZCI6ZmFsc2UsIlRlc3RpbmciOmZhbHNlLCJTY2hlZHVsZWRGb3JEZWxldGlvbiI6ZmFsc2UsIkluc3RhbGxlZEZyb21VcmwiOiJPRkZJQ0lBTCIsIklzVGhpcmRQYXJ0eSI6ZmFsc2UsIkVmZmVjdGl2ZVZlcnNpb24iOiIxLjcuMTEiLCJBdXRob3IiOiJhc2NjbGVtZW5zIiwiTmFtZSI6IlBlZXBpbmcgVG9tIiwiUHVuY2hsaW5lIjoiU2hvd3Mgd2hvIGlzIGN1cnJlbnRseSBvciB3YXMgcHJldmlvdXNseSB0YXJnZXRpbmcgeW91LiIsIkRlc2NyaXB0aW9uIjoiU2hvd3Mgd2hvIGlzIGN1cnJlbnRseSBvciB3YXMgcHJldmlvdXNseSB0YXJnZXRpbmcgeW91LiIsIkNoYW5nZWxvZyI6IkFQSSA3IiwiVGFncyI6bnVsbCwiQ2F0ZWdvcnlUYWdzIjpudWxsLCJJc0hpZGUiOnRydWUsIkludGVybmFsTmFtZSI6IlBlZXBpbmdUb20iLCJBc3NlbWJseVZlcnNpb24iOiIxLjcuMTEiLCJUZXN0aW5nQXNzZW1ibHlWZXJzaW9uIjpudWxsLCJJc1Rlc3RpbmdFeGNsdXNpdmUiOmZhbHNlLCJSZXBvVXJsIjoiaHR0cHM6Ly9naXQuYW5uYWNsZW1lbnMuaW8vYXNjY2xlbWVucy9QZWVwaW5nVG9tIiwiQXBwbGljYWJsZVZlcnNpb24iOiJhbnkiLCJEYWxhbXVkQXBpTGV2ZWwiOjcsIkRvd25sb2FkQ291bnQiOjIwNDE1MywiTGFzdFVwZGF0ZSI6MTY2MTM3OTgyMSwiRG93bmxvYWRMaW5rSW5zdGFsbCI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvUGVlcGluZ1RvbT9pc1VwZGF0ZT1GYWxzZSZpc1Rlc3Rpbmc9RmFsc2UmYnJhbmNoPWFwaTYmaXNEaXAxNz1UcnVlIiwiRG93bmxvYWRMaW5rVXBkYXRlIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvYXRjb3JwL0RhbGFtdWRQbHVnaW5zL2FwaTYvcGx1Z2lucy9QZWVwaW5nVG9tL2xhdGVzdC56aXAiLCJEb3dubG9hZExpbmtUZXN0aW5nIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9QZWVwaW5nVG9tP2lzVXBkYXRlPUZhbHNlJmlzVGVzdGluZz1UcnVlJmJyYW5jaD1hcGk2JmlzRGlwMTc9VHJ1ZSIsIkxvYWRSZXF1aXJlZFN0YXRlIjowLCJMb2FkU3luYyI6ZmFsc2UsIkxvYWRQcmlvcml0eSI6MCwiQ2FuVW5sb2FkQXN5bmMiOmZhbHNlLCJJbWFnZVVybHMiOm51bGwsIkljb25VcmwiOm51bGwsIkFjY2VwdHNGZWVkYmFjayI6dHJ1ZSwiRmVlZGJhY2tNZXNzYWdlIjpudWxsLCJfaXNEaXAxN1BsdWdpbiI6dHJ1ZSwiX0RpcDE3Q2hhbm5lbCI6InN0YWJsZSJ9LHsiRGlzYWJsZWQiOmZhbHNlLCJUZXN0aW5nIjpmYWxzZSwiU2NoZWR1bGVkRm9yRGVsZXRpb24iOmZhbHNlLCJJbnN0YWxsZWRGcm9tVXJsIjoiT0ZGSUNJQUwiLCJJc1RoaXJkUGFydHkiOmZhbHNlLCJFZmZlY3RpdmVWZXJzaW9uIjoiMS44LjQuMiIsIkF1dGhvciI6Ik1lbGkgJiBwZXJjaGJpcmQiLCJOYW1lIjoiT3JjaGVzdHJpb24gUGx1Z2luIiwiUHVuY2hsaW5lIjoiQWRkcyBhIHNpbXBsZSBmcm9udC1lbmQgZm9yIGJyb3dzaW5nIGFuZCBjaGFuZ2luZyB0aGUgaW4tZ2FtZSBCR00uIiwiRGVzY3JpcHRpb24iOiJPcmNoZXN0cmlvbiBQbHVnaW4gYWxsb3dzIHlvdSB0byBjaGFuZ2UgdGhlIGN1cnJlbnRseSBwbGF5aW5nIGluLWdhbWUgQkdNLiBJdCBpbmNsdWRlc1xuYSBjdXJhdGVkIGxpc3Qgb2YgdGhlIG1vc3QgYWNjdXJhdGUgaW4tZ2FtZSBzb25nIHRpdGxlcywgc28geW91IGtub3cgZXhhY3RseSB3aGF0J3MgcGxheWluZyxcbmlmIHlvdSB3YW50IHRvIGtub3cgbGF0ZXIhIEFkZCBmYXZvcml0ZSBzb25ncyB0byBzZXBhcmF0ZSB0aGVtIGZyb20gdGhlIHJlc3QuXG5Ob3RlOiBUaGlzIHBsdWdpbiBkb2VzIG5vdCBjdXJyZW50bHkgYWxsb3cgeW91IHRvIHBsYXkgYWN0dWFsIG9yY2hlc3RyaW9uIHNvbmdzLiIsIkNoYW5nZWxvZyI6bnVsbCwiVGFncyI6WyJiZ20iLCJtdXNpYyJdLCJDYXRlZ29yeVRhZ3MiOm51bGwsIklzSGlkZSI6dHJ1ZSwiSW50ZXJuYWxOYW1lIjoib3JjaGVzdHJpb24iLCJBc3NlbWJseVZlcnNpb24iOiIxLjguNC4yIiwiVGVzdGluZ0Fzc2VtYmx5VmVyc2lvbiI6bnVsbCwiSXNUZXN0aW5nRXhjbHVzaXZlIjpmYWxzZSwiUmVwb1VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sbWNpbnR5cmUvT3JjaGVzdHJpb25QbHVnaW4iLCJBcHBsaWNhYmxlVmVyc2lvbiI6ImFueSIsIkRhbGFtdWRBcGlMZXZlbCI6NywiRG93bmxvYWRDb3VudCI6MjMyNTMwLCJMYXN0VXBkYXRlIjoxNjYxMzU2NjI2LCJEb3dubG9hZExpbmtJbnN0YWxsIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9vcmNoZXN0cmlvbj9pc1VwZGF0ZT1GYWxzZSZpc1Rlc3Rpbmc9RmFsc2UmYnJhbmNoPWFwaTYmaXNEaXAxNz1UcnVlIiwiRG93bmxvYWRMaW5rVXBkYXRlIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvYXRjb3JwL0RhbGFtdWRQbHVnaW5zL2FwaTYvcGx1Z2lucy9vcmNoZXN0cmlvbi9sYXRlc3QuemlwIiwiRG93bmxvYWRMaW5rVGVzdGluZyI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvb3JjaGVzdHJpb24/aXNVcGRhdGU9RmFsc2UmaXNUZXN0aW5nPVRydWUmYnJhbmNoPWFwaTYmaXNEaXAxNz1UcnVlIiwiTG9hZFJlcXVpcmVkU3RhdGUiOjAsIkxvYWRTeW5jIjpmYWxzZSwiTG9hZFByaW9yaXR5IjowLCJDYW5VbmxvYWRBc3luYyI6ZmFsc2UsIkltYWdlVXJscyI6bnVsbCwiSWNvblVybCI6bnVsbCwiQWNjZXB0c0ZlZWRiYWNrIjp0cnVlLCJGZWVkYmFja01lc3NhZ2UiOm51bGwsIl9pc0RpcDE3UGx1Z2luIjp0cnVlLCJfRGlwMTdDaGFubmVsIjoic3RhYmxlIn0seyJEaXNhYmxlZCI6ZmFsc2UsIlRlc3RpbmciOnRydWUsIlNjaGVkdWxlZEZvckRlbGV0aW9uIjpmYWxzZSwiSW5zdGFsbGVkRnJvbVVybCI6bnVsbCwiSXNUaGlyZFBhcnR5IjpmYWxzZSwiRWZmZWN0aXZlVmVyc2lvbiI6IjIuMi4wLjAiLCJBdXRob3IiOiJTbDBuZGVybWFuIiwiTmFtZSI6Ik9jZWFuIEZpc2hpbiciLCJQdW5jaGxpbmUiOiJTdWdnZXN0cyBiYWl0IGZvciBvY2VhbiBmaXNoaW5nLiIsIkRlc2NyaXB0aW9uIjoiQXV0b21hdGljYWxseSByZWNvbW1lbmRzIGJhaXQgdG8gdXNlIGJhc2VkIG9uIHlvdXIgb2NlYW4gZmlzaGluZyByb3V0ZS4gXG5Zb3UnbGwgZ2V0IHN1Z2dlc3Rpb25zIGZvciBzcGVjdHJhbCBmaXNoLCBmaXNoZXIncyBpbnR1aXRpb24gYnVmZiwgYW5kIG1pc3Npb25zLiIsIkNoYW5nZWxvZyI6bnVsbCwiVGFncyI6WyJmaXNoaW5nIiwiYmFpdCIsImR1dHkiXSwiQ2F0ZWdvcnlUYWdzIjpbImpvYnMiXSwiSXNIaWRlIjpmYWxzZSwiSW50ZXJuYWxOYW1lIjoiT2NlYW5GaXNoaW4iLCJBc3NlbWJseVZlcnNpb24iOiIyLjIuMC4wIiwiVGVzdGluZ0Fzc2VtYmx5VmVyc2lvbiI6IjIuMi4wLjAiLCJJc1Rlc3RpbmdFeGNsdXNpdmUiOnRydWUsIlJlcG9VcmwiOiJodHRwczovL2dpdGh1Yi5jb20vbWFya2pzb3Nub3dza2kvT2NlYW5GaXNoaW4iLCJBcHBsaWNhYmxlVmVyc2lvbiI6ImFueSIsIkRhbGFtdWRBcGlMZXZlbCI6NSwiRG93bmxvYWRDb3VudCI6MCwiTGFzdFVwZGF0ZSI6MTYzOTUwNTc1MCwiRG93bmxvYWRMaW5rSW5zdGFsbCI6Imh0dHBzOi8vdXMtY2VudHJhbDEteGwtZnVuY3Rpb25zLmNsb3VkZnVuY3Rpb25zLm5ldC9kb3dubG9hZC1wbHVnaW4vP3BsdWdpbj1PY2VhbkZpc2hpbiZpc1VwZGF0ZT1GYWxzZSZpc1Rlc3Rpbmc9VHJ1ZSZicmFuY2g9YXBpNSIsIkRvd25sb2FkTGlua1VwZGF0ZSI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb2F0Y29ycC9EYWxhbXVkUGx1Z2lucy9hcGk1L3BsdWdpbnMvT2NlYW5GaXNoaW4vbGF0ZXN0LnppcCIsIkRvd25sb2FkTGlua1Rlc3RpbmciOiJodHRwczovL3VzLWNlbnRyYWwxLXhsLWZ1bmN0aW9ucy5jbG91ZGZ1bmN0aW9ucy5uZXQvZG93bmxvYWQtcGx1Z2luLz9wbHVnaW49T2NlYW5GaXNoaW4maXNVcGRhdGU9RmFsc2UmaXNUZXN0aW5nPVRydWUmYnJhbmNoPWFwaTUiLCJMb2FkUmVxdWlyZWRTdGF0ZSI6MCwiTG9hZFN5bmMiOmZhbHNlLCJMb2FkUHJpb3JpdHkiOjAsIkNhblVubG9hZEFzeW5jIjpmYWxzZSwiSW1hZ2VVcmxzIjpbImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tYXJranNvc25vd3NraS9PY2VhbkZpc2hpbi9tYXN0ZXIvcHJldmlldzEucG5nIl0sIkljb25VcmwiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbWFya2pzb3Nub3dza2kvT2NlYW5GaXNoaW4vbWFzdGVyL2ljb24ucG5nIiwiQWNjZXB0c0ZlZWRiYWNrIjp0cnVlLCJGZWVkYmFja01lc3NhZ2UiOm51bGwsIl9pc0RpcDE3UGx1Z2luIjpmYWxzZSwiX0RpcDE3Q2hhbm5lbCI6bnVsbH0seyJEaXNhYmxlZCI6ZmFsc2UsIlRlc3RpbmciOmZhbHNlLCJTY2hlZHVsZWRGb3JEZWxldGlvbiI6ZmFsc2UsIkluc3RhbGxlZEZyb21VcmwiOm51bGwsIklzVGhpcmRQYXJ0eSI6ZmFsc2UsIkVmZmVjdGl2ZVZlcnNpb24iOiIzLjAuNCIsIkF1dGhvciI6ImFzY2NsZW1lbnMiLCJOYW1lIjoiTm9Tb2xpY2l0aW5nIiwiUHVuY2hsaW5lIjoiQWRibG9jayBmb3IgRkZYSVYuIiwiRGVzY3JpcHRpb24iOiJDdXN0b21pc2FibGUgY2hhdCBhbmQgUGFydHkgRmluZGVyIGZpbHRlcmluZy4gSW4gYWRkaXRpb24gdG8gbGV0dGluZ1xueW91IGZpbHRlciBhbnl0aGluZyBmcm9tIGNoYXQgYW5kIFBGLCBpdCBjb21lcyB3aXRoIGJ1aWx0LWluIGZpbHRlcnNcbmZvciB0aGUgZm9sbG93aW5nOlxuXG4tIFJNVCAoYm90aCBnaWwgYW5kIGNvbnRlbnQpXG4tIEZDIGFkc1xuLSBSUCBhZHNcbi0gUGhpc2hpbmcgbWVzc2FnZXNcbi0gU3RhdGljIHJlY3J1aXRtZW50XG4tIFRyYWRlIGFkc1xuLSBDb21tdW5pdHkgYWRzXG4tIEFueSBQRiB3aXRoIGFuIGl0ZW0gbGV2ZWwgb3ZlciB0aGUgbWF4IiwiQ2hhbmdlbG9nIjoibW9kYWwiLCJUYWdzIjpudWxsLCJDYXRlZ29yeVRhZ3MiOm51bGwsIklzSGlkZSI6ZmFsc2UsIkludGVybmFsTmFtZSI6Ik5vU29saWNpdGluZyIsIkFzc2VtYmx5VmVyc2lvbiI6IjMuMC40IiwiVGVzdGluZ0Fzc2VtYmx5VmVyc2lvbiI6bnVsbCwiSXNUZXN0aW5nRXhjbHVzaXZlIjpmYWxzZSwiUmVwb1VybCI6Imh0dHBzOi8vZ2l0LmFubmFjbGVtZW5zLmlvL2FzY2NsZW1lbnMvTm9Tb2xpY2l0aW5nIiwiQXBwbGljYWJsZVZlcnNpb24iOiJhbnkiLCJEYWxhbXVkQXBpTGV2ZWwiOjYsIkRvd25sb2FkQ291bnQiOjUzMDI2LCJMYXN0VXBkYXRlIjoxNjUxMTgxNjY4LCJEb3dubG9hZExpbmtJbnN0YWxsIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvYXRjb3JwL0RhbGFtdWRQbHVnaW5zL2FwaTYvcGx1Z2lucy9Ob1NvbGljaXRpbmcvbGF0ZXN0LnppcCIsIkRvd25sb2FkTGlua1VwZGF0ZSI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb2F0Y29ycC9EYWxhbXVkUGx1Z2lucy9hcGk2L3BsdWdpbnMvTm9Tb2xpY2l0aW5nL2xhdGVzdC56aXAiLCJEb3dubG9hZExpbmtUZXN0aW5nIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvYXRjb3JwL0RhbGFtdWRQbHVnaW5zL2FwaTYvdGVzdGluZy9Ob1NvbGljaXRpbmcvbGF0ZXN0LnppcCIsIkxvYWRSZXF1aXJlZFN0YXRlIjowLCJMb2FkU3luYyI6ZmFsc2UsIkxvYWRQcmlvcml0eSI6MTAwLCJDYW5VbmxvYWRBc3luYyI6ZmFsc2UsIkltYWdlVXJscyI6bnVsbCwiSWNvblVybCI6bnVsbCwiQWNjZXB0c0ZlZWRiYWNrIjp0cnVlLCJGZWVkYmFja01lc3NhZ2UiOm51bGwsIl9pc0RpcDE3UGx1Z2luIjpmYWxzZSwiX0RpcDE3Q2hhbm5lbCI6bnVsbH0seyJEaXNhYmxlZCI6ZmFsc2UsIlRlc3RpbmciOmZhbHNlLCJTY2hlZHVsZWRGb3JEZWxldGlvbiI6ZmFsc2UsIkluc3RhbGxlZEZyb21VcmwiOm51bGwsIklzVGhpcmRQYXJ0eSI6ZmFsc2UsIkVmZmVjdGl2ZVZlcnNpb24iOiIxLjEuMS4wIiwiQXV0aG9yIjoiZGFlbWl0dXMiLCJOYW1lIjoiZXpNaW5pQ2FjdHBvdCIsIlB1bmNobGluZSI6IlNob3dzIHRoZSBuZXh0IGJlc3QgbW92ZSBpbiBNaW5pIENhY3Rwb3QuIiwiRGVzY3JpcHRpb24iOiJUaGlzIHBsdWdpbiBoaWdobGlnaHRzIHRpbGVzIGFuZCBsaW5lcyBpbiBNaW5pQ2FjdHBvdCB0aGF0IHJlcHJlc2VudCB0aGUgYmVzdCBwb3RlbnRpYWwgYWN0aW9uIHlvdSBjYW4gdGFrZS4iLCJDaGFuZ2Vsb2ciOm51bGwsIlRhZ3MiOm51bGwsIkNhdGVnb3J5VGFncyI6bnVsbCwiSXNIaWRlIjpmYWxzZSwiSW50ZXJuYWxOYW1lIjoiTWluaUNhY3Rwb3RTb2x2ZXIiLCJBc3NlbWJseVZlcnNpb24iOiIxLjEuMS4wIiwiVGVzdGluZ0Fzc2VtYmx5VmVyc2lvbiI6bnVsbCwiSXNUZXN0aW5nRXhjbHVzaXZlIjpmYWxzZSwiUmVwb1VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9kYWVtaXR1cy9NaW5pQ2FjdHBvdFNvbHZlciIsIkFwcGxpY2FibGVWZXJzaW9uIjoiYW55IiwiRGFsYW11ZEFwaUxldmVsIjo2LCJEb3dubG9hZENvdW50IjoxNDI3NDMsIkxhc3RVcGRhdGUiOjE2NDk5MDE2NjEsIkRvd25sb2FkTGlua0luc3RhbGwiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZ29hdGNvcnAvRGFsYW11ZFBsdWdpbnMvYXBpNi9wbHVnaW5zL01pbmlDYWN0cG90U29sdmVyL2xhdGVzdC56aXAiLCJEb3dubG9hZExpbmtVcGRhdGUiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZ29hdGNvcnAvRGFsYW11ZFBsdWdpbnMvYXBpNi9wbHVnaW5zL01pbmlDYWN0cG90U29sdmVyL2xhdGVzdC56aXAiLCJEb3dubG9hZExpbmtUZXN0aW5nIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvYXRjb3JwL0RhbGFtdWRQbHVnaW5zL2FwaTYvdGVzdGluZy9NaW5pQ2FjdHBvdFNvbHZlci9sYXRlc3QuemlwIiwiTG9hZFJlcXVpcmVkU3RhdGUiOjAsIkxvYWRTeW5jIjpmYWxzZSwiTG9hZFByaW9yaXR5IjowLCJDYW5VbmxvYWRBc3luYyI6ZmFsc2UsIkltYWdlVXJscyI6WyJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZGFlbWl0dXMvTWluaUNhY3Rwb3RTb2x2ZXIvbWFzdGVyL3Jlcy9pbWFnZTEucG5nIiwiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2RhZW1pdHVzL01pbmlDYWN0cG90U29sdmVyL21hc3Rlci9yZXMvaW1hZ2UyLnBuZyJdLCJJY29uVXJsIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2RhZW1pdHVzL01pbmlDYWN0cG90U29sdmVyL21hc3Rlci9yZXMvaWNvbi5wbmciLCJBY2NlcHRzRmVlZGJhY2siOnRydWUsIkZlZWRiYWNrTWVzc2FnZSI6bnVsbCwiX2lzRGlwMTdQbHVnaW4iOmZhbHNlLCJfRGlwMTdDaGFubmVsIjpudWxsfSx7IkRpc2FibGVkIjpmYWxzZSwiVGVzdGluZyI6ZmFsc2UsIlNjaGVkdWxlZEZvckRlbGV0aW9uIjpmYWxzZSwiSW5zdGFsbGVkRnJvbVVybCI6Ik9GRklDSUFMIiwiSXNUaGlyZFBhcnR5IjpmYWxzZSwiRWZmZWN0aXZlVmVyc2lvbiI6IjEuMC4wLjAiLCJBdXRob3IiOiJmbWF1TmVrbyIsIk5hbWUiOiJNYXJrZXQgYm9hcmQiLCJQdW5jaGxpbmUiOiJCcm93c2UgdGhlIG1hcmtldCBib2FyZCBmcm9tIGFueXdoZXJlLiIsIkRlc2NyaXB0aW9uIjoiQnJvd3NlIHRoZSBtYXJrZXQgYm9hcmQuIC9wbWIgdG8gb3Blbi4iLCJDaGFuZ2Vsb2ciOiJTZXR0aW5ncyB3aW5kb3csIHNob3BwaW5nIGxpc3QsIGNvc21ldGljIGNoYW5nZXMsIC5ORVQgNi4wIC8gQVBJIDciLCJUYWdzIjpudWxsLCJDYXRlZ29yeVRhZ3MiOm51bGwsIklzSGlkZSI6dHJ1ZSwiSW50ZXJuYWxOYW1lIjoiTWFya2V0Qm9hcmRQbHVnaW4iLCJBc3NlbWJseVZlcnNpb24iOiIxLjAuMC4wIiwiVGVzdGluZ0Fzc2VtYmx5VmVyc2lvbiI6bnVsbCwiSXNUZXN0aW5nRXhjbHVzaXZlIjpmYWxzZSwiUmVwb1VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9mbWF1TmVrby9NYXJrZXRCb2FyZFBsdWdpbiIsIkFwcGxpY2FibGVWZXJzaW9uIjoiYW55IiwiRGFsYW11ZEFwaUxldmVsIjo3LCJEb3dubG9hZENvdW50IjoyNjg2MzcsIkxhc3RVcGRhdGUiOjE2NjE0MzkyNjIsIkRvd25sb2FkTGlua0luc3RhbGwiOiJodHRwczovL2thbW9yaS5nb2F0cy5kZXYvUGx1Z2luL0Rvd25sb2FkL01hcmtldEJvYXJkUGx1Z2luP2lzVXBkYXRlPUZhbHNlJmlzVGVzdGluZz1GYWxzZSZicmFuY2g9YXBpNiZpc0RpcDE3PVRydWUiLCJEb3dubG9hZExpbmtVcGRhdGUiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZ29hdGNvcnAvRGFsYW11ZFBsdWdpbnMvYXBpNi9wbHVnaW5zL01hcmtldEJvYXJkUGx1Z2luL2xhdGVzdC56aXAiLCJEb3dubG9hZExpbmtUZXN0aW5nIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9NYXJrZXRCb2FyZFBsdWdpbj9pc1VwZGF0ZT1GYWxzZSZpc1Rlc3Rpbmc9VHJ1ZSZicmFuY2g9YXBpNiZpc0RpcDE3PVRydWUiLCJMb2FkUmVxdWlyZWRTdGF0ZSI6MCwiTG9hZFN5bmMiOmZhbHNlLCJMb2FkUHJpb3JpdHkiOjAsIkNhblVubG9hZEFzeW5jIjpmYWxzZSwiSW1hZ2VVcmxzIjpudWxsLCJJY29uVXJsIjpudWxsLCJBY2NlcHRzRmVlZGJhY2siOnRydWUsIkZlZWRiYWNrTWVzc2FnZSI6bnVsbCwiX2lzRGlwMTdQbHVnaW4iOnRydWUsIl9EaXAxN0NoYW5uZWwiOiJzdGFibGUifSx7IkRpc2FibGVkIjpmYWxzZSwiVGVzdGluZyI6dHJ1ZSwiU2NoZWR1bGVkRm9yRGVsZXRpb24iOmZhbHNlLCJJbnN0YWxsZWRGcm9tVXJsIjoiT0ZGSUNJQUwiLCJJc1RoaXJkUGFydHkiOmZhbHNlLCJFZmZlY3RpdmVWZXJzaW9uIjoiMS40LjAuMCIsIkF1dGhvciI6IkJpdHNPZkFCeXRlIiwiTmFtZSI6Iktpa28gR3VpZGUiLCJQdW5jaGxpbmUiOiJUaGUgdWx0aW1hdGUgZ3VpZGVib29rIGZvciBpbi1nYW1lIGR1dGllcywgZ3JlYXQgZm9yIHNwcm91dHMgJiBkYWlseSByb3VsZXR0ZXMhIiwiRGVzY3JpcHRpb24iOiJDb21wcmVoZW5zaXZlIGd1aWRlcyBmb3IgZHV0eSBjb250ZW50IHN1Y2ggYXMgRHVuZ2VvbnMsIFRyaWFscyBhbmQgQWxsaWFuY2UgUmFpZHMuXG5cbktleSBmZWF0dXJlczpcbi0gQXV0b21hdGljYWxseSBvcGVuIGEgZ3VpZGUgd2hlbiBlbnRlcmluZyBhIGR1dHlcbi0gTmVhdCBib3NzIG1lY2hhbmljIHRhYmxlc1xuLSBBIHNob3J0ZW5kIHN0cmF0ZWd5IG1vZGUgZm9yIGVhc3kgcmVhZGluZ1xuLSBBbnRpLXNwb2lsZXIgcHJvdGVjdGlvbnNcbi0gQnVpbHQgaW4gZ3VpZGUgZWRpdG9yXG4mIG1vcmUgdG8gY29tZSEiLCJDaGFuZ2Vsb2ciOm51bGwsIlRhZ3MiOlsiRHV0eSBGaW5kZXIiLCJEdXRpZXMiLCJHdWlkZSJdLCJDYXRlZ29yeVRhZ3MiOm51bGwsIklzSGlkZSI6dHJ1ZSwiSW50ZXJuYWxOYW1lIjoiS2lrb0d1aWRlIiwiQXNzZW1ibHlWZXJzaW9uIjoiMS40LjAuMCIsIlRlc3RpbmdBc3NlbWJseVZlcnNpb24iOiIxLjQuMC4wIiwiSXNUZXN0aW5nRXhjbHVzaXZlIjp0cnVlLCJSZXBvVXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL0JpdHNPZkFCeXRlL0tpa29HdWlkZSIsIkFwcGxpY2FibGVWZXJzaW9uIjoiYW55IiwiRGFsYW11ZEFwaUxldmVsIjo3LCJEb3dubG9hZENvdW50Ijo0MTI2LCJMYXN0VXBkYXRlIjoxNjYxMzQzODM2LCJEb3dubG9hZExpbmtJbnN0YWxsIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9LaWtvR3VpZGU/aXNVcGRhdGU9RmFsc2UmaXNUZXN0aW5nPUZhbHNlJmJyYW5jaD1hcGk2JmlzRGlwMTc9VHJ1ZSIsIkRvd25sb2FkTGlua1VwZGF0ZSI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb2F0Y29ycC9EYWxhbXVkUGx1Z2lucy9hcGk2L3BsdWdpbnMvS2lrb0d1aWRlL2xhdGVzdC56aXAiLCJEb3dubG9hZExpbmtUZXN0aW5nIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9LaWtvR3VpZGU/aXNVcGRhdGU9RmFsc2UmaXNUZXN0aW5nPVRydWUmYnJhbmNoPWFwaTYmaXNEaXAxNz1UcnVlIiwiTG9hZFJlcXVpcmVkU3RhdGUiOjAsIkxvYWRTeW5jIjpmYWxzZSwiTG9hZFByaW9yaXR5IjowLCJDYW5VbmxvYWRBc3luYyI6ZmFsc2UsIkltYWdlVXJscyI6bnVsbCwiSWNvblVybCI6bnVsbCwiQWNjZXB0c0ZlZWRiYWNrIjp0cnVlLCJGZWVkYmFja01lc3NhZ2UiOm51bGwsIl9pc0RpcDE3UGx1Z2luIjp0cnVlLCJfRGlwMTdDaGFubmVsIjoidGVzdGluZy1saXZlIn0seyJEaXNhYmxlZCI6ZmFsc2UsIlRlc3RpbmciOmZhbHNlLCJTY2hlZHVsZWRGb3JEZWxldGlvbiI6ZmFsc2UsIkluc3RhbGxlZEZyb21VcmwiOiJPRkZJQ0lBTCIsIklzVGhpcmRQYXJ0eSI6ZmFsc2UsIkVmZmVjdGl2ZVZlcnNpb24iOiIxLjUuMS4wIiwiQXV0aG9yIjoia2FsaWxpc3RpYyIsIk5hbWUiOiJLYXB0dXJlIiwiUHVuY2hsaW5lIjoiVHJhY2sgeW91ciBsb290LiIsIkRlc2NyaXB0aW9uIjoiS2FwdHVyZSBpcyBhIGxvb3QgdHJhY2tlciB0byBjYXB0dXJlIGRyb3BzLCBvYnRhaW5lZCBpdGVtcywgcm9sbHMsIGFuZCBtb3JlLlxuVXNlIHRoZSByb2xsIG1vbml0b3IgdG8gc2VlIHdobyB5b3UgYXJlIHdhaXRpbmcgb24gdG8gcm9sbC4iLCJDaGFuZ2Vsb2ciOm51bGwsIlRhZ3MiOlsibG9vdCIsInRyYWNrIiwicm9sbCJdLCJDYXRlZ29yeVRhZ3MiOm51bGwsIklzSGlkZSI6dHJ1ZSwiSW50ZXJuYWxOYW1lIjoiS2FwdHVyZSIsIkFzc2VtYmx5VmVyc2lvbiI6IjEuNS4xLjAiLCJUZXN0aW5nQXNzZW1ibHlWZXJzaW9uIjpudWxsLCJJc1Rlc3RpbmdFeGNsdXNpdmUiOmZhbHNlLCJSZXBvVXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2thbGlsaXN0aWMvRGFsYW11ZC5LYXB0dXJlIiwiQXBwbGljYWJsZVZlcnNpb24iOiJhbnkiLCJEYWxhbXVkQXBpTGV2ZWwiOjcsIkRvd25sb2FkQ291bnQiOjYzMzMwLCJMYXN0VXBkYXRlIjoxNjYxMzU1MTY1LCJEb3dubG9hZExpbmtJbnN0YWxsIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9LYXB0dXJlP2lzVXBkYXRlPUZhbHNlJmlzVGVzdGluZz1GYWxzZSZicmFuY2g9YXBpNiZpc0RpcDE3PVRydWUiLCJEb3dubG9hZExpbmtVcGRhdGUiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZ29hdGNvcnAvRGFsYW11ZFBsdWdpbnMvYXBpNi9wbHVnaW5zL0thcHR1cmUvbGF0ZXN0LnppcCIsIkRvd25sb2FkTGlua1Rlc3RpbmciOiJodHRwczovL2thbW9yaS5nb2F0cy5kZXYvUGx1Z2luL0Rvd25sb2FkL0thcHR1cmU/aXNVcGRhdGU9RmFsc2UmaXNUZXN0aW5nPVRydWUmYnJhbmNoPWFwaTYmaXNEaXAxNz1UcnVlIiwiTG9hZFJlcXVpcmVkU3RhdGUiOjAsIkxvYWRTeW5jIjpmYWxzZSwiTG9hZFByaW9yaXR5IjowLCJDYW5VbmxvYWRBc3luYyI6ZmFsc2UsIkltYWdlVXJscyI6bnVsbCwiSWNvblVybCI6bnVsbCwiQWNjZXB0c0ZlZWRiYWNrIjp0cnVlLCJGZWVkYmFja01lc3NhZ2UiOm51bGwsIl9pc0RpcDE3UGx1Z2luIjp0cnVlLCJfRGlwMTdDaGFubmVsIjoic3RhYmxlIn0seyJEaXNhYmxlZCI6ZmFsc2UsIlRlc3RpbmciOmZhbHNlLCJTY2hlZHVsZWRGb3JEZWxldGlvbiI6ZmFsc2UsIkluc3RhbGxlZEZyb21VcmwiOm51bGwsIklzVGhpcmRQYXJ0eSI6ZmFsc2UsIkVmZmVjdGl2ZVZlcnNpb24iOiIxLjkuMS4wIiwiQXV0aG9yIjoiQ2FyYXhpIiwiTmFtZSI6Ikl0ZW0gU2VhcmNoIiwiUHVuY2hsaW5lIjoiU2VhcmNoIGFuZCBsaW5rIGl0ZW1zLCBldmVuIGlmIHlvdSBkb24ndCBoYXZlIHRoZW0uIiwiRGVzY3JpcHRpb24iOiJGaWx0ZXJhYmxlIHNlYXJjaCBmb3IgSXRlbXMgYW5kIEtleSBJdGVtcy5cblRyeSBvbiBhbnkgaXRlbSB3aXRob3V0IGhhdmluZyB0byBmaW5kIHNvbWVvbmUgdG8gbGluayBpdC4iLCJDaGFuZ2Vsb2ciOiJGaXhlZCBDcmFmdGluZyBSZWNpcGUgU2VhcmNoXHJcbkZpeGVkIEtvLUZpIGxpbmsgYnJlYWtpbmcgZGFsYW11ZCBzdHlsZXNcclxuQWRkZWQgb3B0aW9uIHRvIGZpbHRlciBpdGVtIGxpc3QgYnkgZmF2b3VyaXRlIHN0YXR1c1xyXG5BZGRlZCBvcHRpb24gdG8gY2hhbmdlIHRoZSBvcmRlciBvZiBpdGVtcyBpbiB0aGUgaXRlbSBsaXN0XHJcbioqQWRkZWQgcHJldmlld2luZyBvZiBpbnRlcm5hbCBob3VzaW5nIGZpeHR1cmVzKipcclxuLSBQcmV2aWV3aW5nIEludGVybmFsIEZpeHR1cmVzIHJlcXVpcmVzIHlvdSB0byBoYXZlIHRoZSBcIlJlbW9kZWwgSW50ZXJpb3JcIiB3aW5kb3cgb3BlbiBpbnNpZGUgeW91ciBvd24gaG91c2UuIFxyXG4tIFRoZSBwcmV2aWV3ZWQgZml4dHVyZSB3aWxsIGFwcGVhciBvbiBhbGwgZmxvb3JzIG9mIGEgaG91c2VcclxuLSBDbG9zZSB0aGUgUmVtb2RlbCBJbnRlcmlvciB3aW5kb3cgdG8gcmVzZXQuIiwiVGFncyI6bnVsbCwiQ2F0ZWdvcnlUYWdzIjpudWxsLCJJc0hpZGUiOmZhbHNlLCJJbnRlcm5hbE5hbWUiOiJJdGVtU2VhcmNoUGx1Z2luIiwiQXNzZW1ibHlWZXJzaW9uIjoiMS45LjEuMCIsIlRlc3RpbmdBc3NlbWJseVZlcnNpb24iOm51bGwsIklzVGVzdGluZ0V4Y2x1c2l2ZSI6ZmFsc2UsIlJlcG9VcmwiOiJodHRwczovL2dpdGh1Yi5jb20vQ2FyYXhpL0l0ZW1TZWFyY2hQbHVnaW4iLCJBcHBsaWNhYmxlVmVyc2lvbiI6ImFueSIsIkRhbGFtdWRBcGlMZXZlbCI6NiwiRG93bmxvYWRDb3VudCI6MTI5OTA5LCJMYXN0VXBkYXRlIjoxNjUxOTY2MzQ3LCJEb3dubG9hZExpbmtJbnN0YWxsIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9JdGVtU2VhcmNoUGx1Z2luP2lzVXBkYXRlPUZhbHNlJmlzVGVzdGluZz1GYWxzZSZicmFuY2g9YXBpNiIsIkRvd25sb2FkTGlua1VwZGF0ZSI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb2F0Y29ycC9EYWxhbXVkUGx1Z2lucy9hcGk2L3BsdWdpbnMvSXRlbVNlYXJjaFBsdWdpbi9sYXRlc3QuemlwIiwiRG93bmxvYWRMaW5rVGVzdGluZyI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvSXRlbVNlYXJjaFBsdWdpbj9pc1VwZGF0ZT1GYWxzZSZpc1Rlc3Rpbmc9VHJ1ZSZicmFuY2g9YXBpNiIsIkxvYWRSZXF1aXJlZFN0YXRlIjowLCJMb2FkU3luYyI6ZmFsc2UsIkxvYWRQcmlvcml0eSI6MCwiQ2FuVW5sb2FkQXN5bmMiOmZhbHNlLCJJbWFnZVVybHMiOm51bGwsIkljb25VcmwiOm51bGwsIkFjY2VwdHNGZWVkYmFjayI6dHJ1ZSwiRmVlZGJhY2tNZXNzYWdlIjpudWxsLCJfaXNEaXAxN1BsdWdpbiI6ZmFsc2UsIl9EaXAxN0NoYW5uZWwiOm51bGx9LHsiRGlzYWJsZWQiOmZhbHNlLCJUZXN0aW5nIjpmYWxzZSwiU2NoZWR1bGVkRm9yRGVsZXRpb24iOmZhbHNlLCJJbnN0YWxsZWRGcm9tVXJsIjoiT0ZGSUNJQUwiLCJJc1RoaXJkUGFydHkiOmZhbHNlLCJFZmZlY3RpdmVWZXJzaW9uIjoiMS4wLjAuMCIsIkF1dGhvciI6IkRyYWdvbiIsIk5hbWUiOiJIdW50IEJ1ZGR5IiwiUHVuY2hsaW5lIjoiSGVscHMgeW91IHRyYWNrIHlvdXIgZGFpbHkgaHVudCBiaWxscyIsIkRlc2NyaXB0aW9uIjoiQSBkYWlseSBodW50IGJpbGwgdHJhY2tlciIsIkNoYW5nZWxvZyI6bnVsbCwiVGFncyI6WyJIdW50IiwiRGFpbHkiLCJVdGlsaXR5Il0sIkNhdGVnb3J5VGFncyI6bnVsbCwiSXNIaWRlIjp0cnVlLCJJbnRlcm5hbE5hbWUiOiJIdW50QnVkZHkiLCJBc3NlbWJseVZlcnNpb24iOiIxLjAuMC4wIiwiVGVzdGluZ0Fzc2VtYmx5VmVyc2lvbiI6bnVsbCwiSXNUZXN0aW5nRXhjbHVzaXZlIjpmYWxzZSwiUmVwb1VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9TaGVlcEdvTWVoL0h1bnRCdWRkeSIsIkFwcGxpY2FibGVWZXJzaW9uIjoiYW55IiwiRGFsYW11ZEFwaUxldmVsIjo3LCJEb3dubG9hZENvdW50IjoxOTMwNCwiTGFzdFVwZGF0ZSI6MTY2MTM3Nzk0OSwiRG93bmxvYWRMaW5rSW5zdGFsbCI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvSHVudEJ1ZGR5P2lzVXBkYXRlPUZhbHNlJmlzVGVzdGluZz1GYWxzZSZicmFuY2g9YXBpNiZpc0RpcDE3PVRydWUiLCJEb3dubG9hZExpbmtVcGRhdGUiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZ29hdGNvcnAvRGFsYW11ZFBsdWdpbnMvYXBpNi9wbHVnaW5zL0h1bnRCdWRkeS9sYXRlc3QuemlwIiwiRG93bmxvYWRMaW5rVGVzdGluZyI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvSHVudEJ1ZGR5P2lzVXBkYXRlPUZhbHNlJmlzVGVzdGluZz1UcnVlJmJyYW5jaD1hcGk2JmlzRGlwMTc9VHJ1ZSIsIkxvYWRSZXF1aXJlZFN0YXRlIjowLCJMb2FkU3luYyI6ZmFsc2UsIkxvYWRQcmlvcml0eSI6MCwiQ2FuVW5sb2FkQXN5bmMiOmZhbHNlLCJJbWFnZVVybHMiOm51bGwsIkljb25VcmwiOm51bGwsIkFjY2VwdHNGZWVkYmFjayI6dHJ1ZSwiRmVlZGJhY2tNZXNzYWdlIjpudWxsLCJfaXNEaXAxN1BsdWdpbiI6dHJ1ZSwiX0RpcDE3Q2hhbm5lbCI6InN0YWJsZSJ9LHsiRGlzYWJsZWQiOmZhbHNlLCJUZXN0aW5nIjpmYWxzZSwiU2NoZWR1bGVkRm9yRGVsZXRpb24iOmZhbHNlLCJJbnN0YWxsZWRGcm9tVXJsIjoiT0ZGSUNJQUwiLCJJc1RoaXJkUGFydHkiOmZhbHNlLCJFZmZlY3RpdmVWZXJzaW9uIjoiMS4yLjciLCJBdXRob3IiOiJhc2NjbGVtZW5zIiwiTmFtZSI6Ikdsb2JldHJvdHRlciIsIlB1bmNobGluZSI6IkF1dG9tYXRpY2FsbHkgc2hvd3Mgd2hlcmUgdHJlYXN1cmUgbWFwcyBhcmUgbG9jYXRlZC4iLCJEZXNjcmlwdGlvbiI6IkF1dG9tYXRpY2FsbHkgc2hvd3Mgd2hlcmUgdHJlYXN1cmUgbWFwcyBhcmUgbG9jYXRlZC5cblxuSWNvbjogTWFwIGJ5IEFkcmllbiBDb3F1ZXQgZnJvbSB0aGUgTm91biBQcm9qZWN0IiwiQ2hhbmdlbG9nIjoiQVBJIDciLCJUYWdzIjpudWxsLCJDYXRlZ29yeVRhZ3MiOm51bGwsIklzSGlkZSI6dHJ1ZSwiSW50ZXJuYWxOYW1lIjoiR2xvYmV0cm90dGVyIiwiQXNzZW1ibHlWZXJzaW9uIjoiMS4yLjciLCJUZXN0aW5nQXNzZW1ibHlWZXJzaW9uIjpudWxsLCJJc1Rlc3RpbmdFeGNsdXNpdmUiOmZhbHNlLCJSZXBvVXJsIjoiaHR0cHM6Ly9naXQuYW5uYWNsZW1lbnMuaW8vYXNjY2xlbWVucy9HbG9iZXRyb3R0ZXIiLCJBcHBsaWNhYmxlVmVyc2lvbiI6ImFueSIsIkRhbGFtdWRBcGlMZXZlbCI6NywiRG93bmxvYWRDb3VudCI6MTcyOTA3LCJMYXN0VXBkYXRlIjoxNjYxMzc5ODg0LCJEb3dubG9hZExpbmtJbnN0YWxsIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9HbG9iZXRyb3R0ZXI/aXNVcGRhdGU9RmFsc2UmaXNUZXN0aW5nPUZhbHNlJmJyYW5jaD1hcGk2JmlzRGlwMTc9VHJ1ZSIsIkRvd25sb2FkTGlua1VwZGF0ZSI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb2F0Y29ycC9EYWxhbXVkUGx1Z2lucy9hcGk2L3BsdWdpbnMvR2xvYmV0cm90dGVyL2xhdGVzdC56aXAiLCJEb3dubG9hZExpbmtUZXN0aW5nIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9HbG9iZXRyb3R0ZXI/aXNVcGRhdGU9RmFsc2UmaXNUZXN0aW5nPVRydWUmYnJhbmNoPWFwaTYmaXNEaXAxNz1UcnVlIiwiTG9hZFJlcXVpcmVkU3RhdGUiOjAsIkxvYWRTeW5jIjpmYWxzZSwiTG9hZFByaW9yaXR5IjowLCJDYW5VbmxvYWRBc3luYyI6ZmFsc2UsIkltYWdlVXJscyI6bnVsbCwiSWNvblVybCI6bnVsbCwiQWNjZXB0c0ZlZWRiYWNrIjp0cnVlLCJGZWVkYmFja01lc3NhZ2UiOm51bGwsIl9pc0RpcDE3UGx1Z2luIjp0cnVlLCJfRGlwMTdDaGFubmVsIjoic3RhYmxlIn0seyJEaXNhYmxlZCI6ZmFsc2UsIlRlc3RpbmciOmZhbHNlLCJTY2hlZHVsZWRGb3JEZWxldGlvbiI6ZmFsc2UsIkluc3RhbGxlZEZyb21VcmwiOiJPRkZJQ0lBTCIsIklzVGhpcmRQYXJ0eSI6ZmFsc2UsIkVmZmVjdGl2ZVZlcnNpb24iOiIxLjkuOS4wIiwiQXV0aG9yIjoiYXNjY2xlbWVucyIsIk5hbWUiOiJHbGFtYWhvbGljIiwiUHVuY2hsaW5lIjoiU2F2ZSBhbmQgc3dhcCB5b3VyIGdsYW1vdXIgcGxhdGVzLiIsIkRlc2NyaXB0aW9uIjoiQ3JlYXRlIGFuZCBzYXZlIGFzIG1hbnkgZ2xhbW91ciBwbGF0ZXMgYXMgeW91IHdhbnQuIEFjdGl2YXRlIHVwIHRvIDE1IG9mIHRoZW1cbmF0IG9uY2UgYXQgdGhlIEdsYW1vdXIgRHJlc3Nlci4gU3VwcG9ydHMgZXhwb3J0aW5nIGFuZCBpbXBvcnRpbmcgcGxhdGVzIGZvclxuZWFzeSBzaGFyaW5nLlxuIiwiQ2hhbmdlbG9nIjoiVGhlIEdsYW1vdXIgRHJlc3NlciBoYXMgODAwIHNsb3RzIG5vdyEgQWNjb3VudGVkIGZvciB0aGF0IGFuZCBmaXhlZCB0aGUgcHJvYmxlbXMgYXJpc2luZyBiZWNhdXNlIG9mIHRoYXQuIiwiVGFncyI6bnVsbCwiQ2F0ZWdvcnlUYWdzIjpudWxsLCJJc0hpZGUiOnRydWUsIkludGVybmFsTmFtZSI6IkdsYW1haG9saWMiLCJBc3NlbWJseVZlcnNpb24iOiIxLjkuOS4wIiwiVGVzdGluZ0Fzc2VtYmx5VmVyc2lvbiI6bnVsbCwiSXNUZXN0aW5nRXhjbHVzaXZlIjpmYWxzZSwiUmVwb1VybCI6Imh0dHBzOi8vZ2l0LmFubmFjbGVtZW5zLmlvL2FzY2NsZW1lbnMvR2xhbWFob2xpYyIsIkFwcGxpY2FibGVWZXJzaW9uIjoiYW55IiwiRGFsYW11ZEFwaUxldmVsIjo3LCJEb3dubG9hZENvdW50Ijo2NjgxOCwiTGFzdFVwZGF0ZSI6MTY2MTQ3MDA3MCwiRG93bmxvYWRMaW5rSW5zdGFsbCI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvR2xhbWFob2xpYz9pc1VwZGF0ZT1GYWxzZSZpc1Rlc3Rpbmc9RmFsc2UmYnJhbmNoPWFwaTYmaXNEaXAxNz1UcnVlIiwiRG93bmxvYWRMaW5rVXBkYXRlIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvYXRjb3JwL0RhbGFtdWRQbHVnaW5zL2FwaTYvcGx1Z2lucy9HbGFtYWhvbGljL2xhdGVzdC56aXAiLCJEb3dubG9hZExpbmtUZXN0aW5nIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9HbGFtYWhvbGljP2lzVXBkYXRlPUZhbHNlJmlzVGVzdGluZz1UcnVlJmJyYW5jaD1hcGk2JmlzRGlwMTc9VHJ1ZSIsIkxvYWRSZXF1aXJlZFN0YXRlIjowLCJMb2FkU3luYyI6ZmFsc2UsIkxvYWRQcmlvcml0eSI6MCwiQ2FuVW5sb2FkQXN5bmMiOmZhbHNlLCJJbWFnZVVybHMiOm51bGwsIkljb25VcmwiOm51bGwsIkFjY2VwdHNGZWVkYmFjayI6dHJ1ZSwiRmVlZGJhY2tNZXNzYWdlIjpudWxsLCJfaXNEaXAxN1BsdWdpbiI6dHJ1ZSwiX0RpcDE3Q2hhbm5lbCI6InN0YWJsZSJ9LHsiRGlzYWJsZWQiOmZhbHNlLCJUZXN0aW5nIjpmYWxzZSwiU2NoZWR1bGVkRm9yRGVsZXRpb24iOmZhbHNlLCJJbnN0YWxsZWRGcm9tVXJsIjoiT0ZGSUNJQUwiLCJJc1RoaXJkUGFydHkiOmZhbHNlLCJFZmZlY3RpdmVWZXJzaW9uIjoiMS4xLjEuMiIsIkF1dGhvciI6ImRhZW1pdHVzIiwiTmFtZSI6ImV6RmF1eEhvbGxvd3MiLCJQdW5jaGxpbmUiOiJIaWdobGlnaHRzIHJlY29tbWVuZGVkIHRpbGVzIGluIEZhdXggSG9sbG93cyBmb3IgeW91ciBuZXh0IG1vdmUuIiwiRGVzY3JpcHRpb24iOiJUaGlzIHBsdWdpbiBoaWdobGlnaHRzIHRpbGVzIGluIEZhdXggSG9sbG93cyB0aGF0IHJlcHJlc2VudCB0aGUgYmVzdCBwb3RlbnRpYWwgYWN0aW9uIHlvdSBjYW4gdGFrZS4iLCJDaGFuZ2Vsb2ciOm51bGwsIlRhZ3MiOm51bGwsIkNhdGVnb3J5VGFncyI6bnVsbCwiSXNIaWRlIjp0cnVlLCJJbnRlcm5hbE5hbWUiOiJGYXV4SG9sbG93c1NvbHZlciIsIkFzc2VtYmx5VmVyc2lvbiI6IjEuMS4xLjIiLCJUZXN0aW5nQXNzZW1ibHlWZXJzaW9uIjpudWxsLCJJc1Rlc3RpbmdFeGNsdXNpdmUiOmZhbHNlLCJSZXBvVXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2RhZW1pdHVzL0ZhdXhIb2xsb3dzU29sdmVyIiwiQXBwbGljYWJsZVZlcnNpb24iOiJhbnkiLCJEYWxhbXVkQXBpTGV2ZWwiOjcsIkRvd25sb2FkQ291bnQiOjYxNzI0LCJMYXN0VXBkYXRlIjoxNjYxNDcxNzU3LCJEb3dubG9hZExpbmtJbnN0YWxsIjoiaHR0cHM6Ly9rYW1vcmkuZ29hdHMuZGV2L1BsdWdpbi9Eb3dubG9hZC9GYXV4SG9sbG93c1NvbHZlcj9pc1VwZGF0ZT1GYWxzZSZpc1Rlc3Rpbmc9RmFsc2UmYnJhbmNoPWFwaTYmaXNEaXAxNz1UcnVlIiwiRG93bmxvYWRMaW5rVXBkYXRlIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvYXRjb3JwL0RhbGFtdWRQbHVnaW5zL2FwaTYvcGx1Z2lucy9GYXV4SG9sbG93c1NvbHZlci9sYXRlc3QuemlwIiwiRG93bmxvYWRMaW5rVGVzdGluZyI6Imh0dHBzOi8va2Ftb3JpLmdvYXRzLmRldi9QbHVnaW4vRG93bmxvYWQvRmF1eEhvbGxvd3NTb2x2ZXI/aXNVcGRhdGU9RmFsc2UmaXNUZXN0aW5nPVRydWUmYnJhbmNoPWFwaTYmaXNEaXAxNz1UcnVlIiwiTG9hZFJlcXVpcmVkU3RhdGUiOjAsIkxvYWRTeW5jIjpmYWxzZSwiTG9hZFByaW9yaXR5IjowLCJDYW5VbmxvYWRBc3luYyI6ZmFsc2UsIkltYWdlVXJscyI6WyJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZGFlbWl0dXMvRmF1eEhvbGxvd3NTb2x2ZXIvbWFzdGVyL3Jlcy9pbWFnZTEucG5nIl0sIkljb25VcmwiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZGFlbWl0dXMvRmF1eEhvbGxvd3NTb2x2ZXIvbWFzdGVyL3Jlcy9pY29uLnBuZyIsIkFjY2VwdHNGZWVkYmFjayI6dHJ1ZSwiRmVlZGJhY2tNZXNzYWdlIjpudWxsLCJfaXNEaXAxN1BsdWdpbiI6dHJ1ZSwiX0RpcDE3Q2hhbm5lbCI6InN0YWJsZSJ9LHsiRGlzYWJsZWQiOmZhbHNlLCJUZXN0aW5nIjpmYWxzZSwiU2NoZWR1bGVkRm9yRGVsZXRpb24iOmZhbHNlLCJJbnN0YWxsZWRGcm9tVXJsIjpudWxsLCJJc1RoaXJkUGFydHkiOmZhbHNlLCJFZmZlY3RpdmVWZXJzaW9uIjoiMS4wLjAuOCIsIkF1dGhvciI6ImdvYXQiLCJOYW1lIjoiRmFuY3kgTG9hZGluZyBTY3JlZW5zIiwiUHVuY2hsaW5lIjoiU2hvd3MgdGhlIGRlc3RpbmF0aW9uIHpvbmUncyBjb25jZXB0IGFydCB3aGlsZSBsb2FkaW5nIiwiRGVzY3JpcHRpb24iOiJUaGlzIHBsdWdpbiBzaG93cyB0aGUgZGVzdGluYXRpb24gem9uZSdzIGNvbmNlcHQgYXJ0IHdoaWxlIGxvYWRpbmcuXG5OT1RFOiBPTkxZIExPT0tTIFJJR0hUIE9OIDE2OjkgU0NSRUVOUyEgVGhlIGNvbmNlcHQgYXJ0IGlzIG5vdCBhbnkgYmlnZ2VyLCBhbmQgd2UgY2FuJ3QgZXhwYW5kL2ZpeCBpdC4gU29ycnkhIiwiQ2hhbmdlbG9nIjpudWxsLCJUYWdzIjpudWxsLCJDYXRlZ29yeVRhZ3MiOm51bGwsIklzSGlkZSI6ZmFsc2UsIkludGVybmFsTmFtZSI6IkRhbGFtdWQuTG9hZGluZ0ltYWdlIiwiQXNzZW1ibHlWZXJzaW9uIjoiMS4wLjAuOCIsIlRlc3RpbmdBc3NlbWJseVZlcnNpb24iOiIxLjAuMC4xIiwiSXNUZXN0aW5nRXhjbHVzaXZlIjpmYWxzZSwiUmVwb1VybCI6bnVsbCwiQXBwbGljYWJsZVZlcnNpb24iOiJhbnkiLCJEYWxhbXVkQXBpTGV2ZWwiOjYsIkRvd25sb2FkQ291bnQiOjg2MjY5LCJMYXN0VXBkYXRlIjoxNjUwODM2ODU0LCJEb3dubG9hZExpbmtJbnN0YWxsIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvYXRjb3JwL0RhbGFtdWRQbHVnaW5zL2FwaTYvcGx1Z2lucy9EYWxhbXVkLkxvYWRpbmdJbWFnZS9sYXRlc3QuemlwIiwiRG93bmxvYWRMaW5rVXBkYXRlIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dvYXRjb3JwL0RhbGFtdWRQbHVnaW5zL2FwaTYvcGx1Z2lucy9EYWxhbXVkLkxvYWRpbmdJbWFnZS9sYXRlc3QuemlwIiwiRG93bmxvYWRMaW5rVGVzdGluZyI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb2F0Y29ycC9EYWxhbXVkUGx1Z2lucy9hcGk2L3Rlc3RpbmcvRGFsYW11ZC5Mb2FkaW5nSW1hZ2UvbGF0ZXN0LnppcCIsIkxvYWRSZXF1aXJlZFN0YXRlIjowLCJMb2FkU3luYyI6ZmFsc2UsIkxvYWRQcmlvcml0eSI6MCwiQ2FuVW5sb2FkQXN5bmMiOmZhbHNlLCJJbWFnZVVybHMiOm51bGwsIkljb25VcmwiOm51bGwsIkFjY2VwdHNGZWVkYmFjayI6dHJ1ZSwiRmVlZGJhY2tNZXNzYWdlIjpudWxsLCJfaXNEaXAxN1BsdWdpbiI6ZmFsc2UsIl9EaXAxN0NoYW5uZWwiOm51bGx9LHsiRGlzYWJsZWQiOmZhbHNlLCJUZXN0aW5nIjp0cnVlLCJTY2hlZHVsZWRGb3JEZWxldGlvbiI6ZmFsc2UsIkluc3RhbGxlZEZyb21VcmwiOm51bGwsIklzVGhpcmRQYXJ0eSI6ZmFsc2UsIkVmZmVjdGl2ZVZlcnNpb24iOiIyLjAuMC41IiwiQXV0aG9yIjoiZ29hdCIsIk5hbWUiOiJDaGFyYWN0ZXIgU3luYyIsIlB1bmNobGluZSI6IlN5bmMgeW91ciBjaGFyYWN0ZXIgZGF0YSBmcm9tIHlvdXIgbWFpbiBjaGFyYWN0ZXIgdG8gYWxsIG90aGVycyIsIkRlc2NyaXB0aW9uIjoiVGhpcyBwbHVnaW4gYWxsb3dzIHlvdSB0byB1c2UgeW91ciBjaGFyYWN0ZXIgZGF0YSBmcm9tIHlvdXIgbWFpbiBjaGFyYWN0ZXIgb24gYWxsIG90aGVycy5cblxuSW4tZ2FtZSwgdXNlIHRoZSBjb25maWd1cmF0aW9uIG1lbnUgdG8gY2hvb3NlIHlvdXIgbWFpbiBjaGFyYWN0ZXIsIHRoZSByZXN0YXJ0IHRoZSBnYW1lIHRvIHN0YXJ0IHN5bmNpbmchIiwiQ2hhbmdlbG9nIjpudWxsLCJUYWdzIjpudWxsLCJDYXRlZ29yeVRhZ3MiOm51bGwsIklzSGlkZSI6ZmFsc2UsIkludGVybmFsTmFtZSI6IkRhbGFtdWQuQ2hhcmFjdGVyU3luYyIsIkFzc2VtYmx5VmVyc2lvbiI6IjIuMC4wLjUiLCJUZXN0aW5nQXNzZW1ibHlWZXJzaW9uIjoiMi4wLjAuNSIsIklzVGVzdGluZ0V4Y2x1c2l2ZSI6dHJ1ZSwiUmVwb1VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9nb2FhYXRzL0RhbGFtdWQuQ2hhcmFjdGVyU3luYyIsIkFwcGxpY2FibGVWZXJzaW9uIjoiYW55IiwiRGFsYW11ZEFwaUxldmVsIjo2LCJEb3dubG9hZENvdW50Ijo1MDQ0OSwiTGFzdFVwZGF0ZSI6MTY1MDgzMjg0MiwiRG93bmxvYWRMaW5rSW5zdGFsbCI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb2F0Y29ycC9EYWxhbXVkUGx1Z2lucy9hcGk2L3BsdWdpbnMvRGFsYW11ZC5DaGFyYWN0ZXJTeW5jL2xhdGVzdC56aXAiLCJEb3dubG9hZExpbmtVcGRhdGUiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZ29hdGNvcnAvRGFsYW11ZFBsdWdpbnMvYXBpNi9wbHVnaW5zL0RhbGFtdWQuQ2hhcmFjdGVyU3luYy9sYXRlc3QuemlwIiwiRG93bmxvYWRMaW5rVGVzdGluZyI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9nb2F0Y29ycC9EYWxhbXVkUGx1Z2lucy9hcGk2L3Rlc3RpbmcvRGFsYW11ZC5DaGFyYWN0ZXJTeW5jL2xhdGVzdC56aXAiLCJMb2FkUmVxdWlyZWRTdGF0ZSI6MCwiTG9hZFN5bmMiOmZhbHNlLCJMb2FkUHJpb3JpdHkiOjAsIkNhblVubG9hZEFzeW5jIjpmYWxzZSwiSW1hZ2VVcmxzIjpbXSwiSWNvblVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9nb2FhYXRzL0RhbGFtdWQuQ2hhcmFjdGVyU3luYy9yYXcvbWFzdGVyL3Jlcy9pY29uLnBuZyIsIkFjY2VwdHNGZWVkYmFjayI6dHJ1ZSwiRmVlZGJhY2tNZXNzYWdlIjpudWxsLCJfaXNEaXAxN1BsdWdpbiI6ZmFsc2UsIl9EaXAxN0NoYW5uZWwiOm51bGx9LHsiRGlzYWJsZWQiOmZhbHNlLCJUZXN0aW5nIjpmYWxzZSwiU2NoZWR1bGVkRm9yRGVsZXRpb24iOmZhbHNlLCJJbnN0YWxsZWRGcm9tVXJsIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0xlb25CbGFkZS9EYWxhbXVkUGx1Z2lucy9tYWluL3JlcG8uanNvbiIsIklzVGhpcmRQYXJ0eSI6dHJ1ZSwiRWZmZWN0aXZlVmVyc2lvbiI6IjEuNS43IiwiQXV0aG9yIjoiTGVvbkJsYWRlIiwiTmFtZSI6IkJ1cm5pbmcgRG93biB0aGUgSG91c2UiLCJQdW5jaGxpbmUiOm51bGwsIkRlc2NyaXB0aW9uIjoiTW92ZSBhcm91bmQgaG91c2luZyBpdGVtcyB3aXRoIGNvb3JkaW5hdGVzIGFuZCBhbGxvd3MgeW91IHRvIHBsYWNlIGFueXdoZXJlLiIsIkNoYW5nZWxvZyI6bnVsbCwiVGFncyI6WyJiZHRoIiwiaG91c2luZyIsImZsb2F0IiwicGxhY2UiLCJnbGl0Y2giLCJmdXJuaXNoaW5nIiwiTGVvbkJsYWRlIl0sIkNhdGVnb3J5VGFncyI6bnVsbCwiSXNIaWRlIjpmYWxzZSwiSW50ZXJuYWxOYW1lIjoiQkRUSFBsdWdpbiIsIkFzc2VtYmx5VmVyc2lvbiI6IjEuNS43IiwiVGVzdGluZ0Fzc2VtYmx5VmVyc2lvbiI6bnVsbCwiSXNUZXN0aW5nRXhjbHVzaXZlIjpmYWxzZSwiUmVwb1VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9MZW9uQmxhZGUvQkRUSFBsdWdpbiIsIkFwcGxpY2FibGVWZXJzaW9uIjoiYW55IiwiRGFsYW11ZEFwaUxldmVsIjo3LCJEb3dubG9hZENvdW50IjoyNTIxLCJMYXN0VXBkYXRlIjowLCJEb3dubG9hZExpbmtJbnN0YWxsIjoiaHR0cHM6Ly9naXRodWIuY29tL0xlb25CbGFkZS9CRFRIUGx1Z2luL3JlbGVhc2VzL2Rvd25sb2FkLzEuNS43L0JEVEhQbHVnaW4uemlwIiwiRG93bmxvYWRMaW5rVXBkYXRlIjoiaHR0cHM6Ly9naXRodWIuY29tL0xlb25CbGFkZS9CRFRIUGx1Z2luL3JlbGVhc2VzL2Rvd25sb2FkLzEuNS43L0JEVEhQbHVnaW4uemlwIiwiRG93bmxvYWRMaW5rVGVzdGluZyI6Imh0dHBzOi8vZ2l0aHViLmNvbS9MZW9uQmxhZGUvQkRUSFBsdWdpbi9yZWxlYXNlcy9kb3dubG9hZC8xLjUuNy9CRFRIUGx1Z2luLnppcCIsIkxvYWRSZXF1aXJlZFN0YXRlIjowLCJMb2FkU3luYyI6ZmFsc2UsIkxvYWRQcmlvcml0eSI6MCwiQ2FuVW5sb2FkQXN5bmMiOmZhbHNlLCJJbWFnZVVybHMiOm51bGwsIkljb25VcmwiOiJodHRwczovL2dpdGh1Yi5jb20vTGVvbkJsYWRlL0JEVEhQbHVnaW4vcmF3L21haW4vaWNvbi5wbmciLCJBY2NlcHRzRmVlZGJhY2siOnRydWUsIkZlZWRiYWNrTWVzc2FnZSI6bnVsbCwiX2lzRGlwMTdQbHVnaW4iOmZhbHNlLCJfRGlwMTdDaGFubmVsIjpudWxsfV0sIkRhbGFtdWRWZXJzaW9uIjoiNy4wLjAuMCIsIkRhbGFtdWRHaXRIYXNoIjoiYzE1NjRjOSIsIkdhbWVWZXJzaW9uIjoiMjAyMi4wOC4xNy4wMDAwLjAwMDAiLCJMYW5ndWFnZSI6IkVuZ2xpc2giLCJEb0RhbGFtdWRUZXN0IjpmYWxzZSwiQmV0YUtleSI6bnVsbCwiRG9QbHVnaW5UZXN0Ijp0cnVlLCJMb2FkQWxsQXBpTGV2ZWxzIjpmYWxzZSwiSW50ZXJmYWNlTG9hZGVkIjp0cnVlLCJGb3JjZWRNaW5Ib29rIjpmYWxzZSwiVGhpcmRSZXBvIjpbXSwiSGFzVGhpcmRSZXBvIjp0cnVlfQ==
2022-08-26 09:37:23.242 -05:00 [INF] LASTEXCEPTION:eyJXaGVuIjoiMjAyMi0wOC0yNlQwOTozNzoyMy4yNDI3ODI4LTA1OjAwIiwiSW5mbyI6IlN5c3RlbS5Bcmd1bWVudE91dE9mUmFuZ2VFeGNlcHRpb246IFZhbGlkIHZhbHVlcyBhcmUgYmV0d2VlbiAtNjIxMzU1OTY4MDAwMDAgYW5kIDI1MzQwMjMwMDc5OTk5OSwgaW5jbHVzaXZlLiAoUGFyYW1ldGVyICdtaWxsaXNlY29uZHMnKVxyXG4gICBhdCBTeXN0ZW0uRGF0ZVRpbWVPZmZzZXQuRnJvbVVuaXhUaW1lTWlsbGlzZWNvbmRzKEludDY0IG1pbGxpc2Vjb25kcylcclxuICAgYXQgS2lrb0d1aWRlLlVJLlNjcmVlbnMuU2V0dGluZ3MuU2V0dGluZ3NTY3JlZW4uRHJhd1NldHRpbmdzV2luZG93KCkgaW4gL3dvcmsvcmVwby9zcmMvVUkvU2NyZWVucy9TZXR0aW5ncy9TZXR0aW5ncy5zY3JlZW4uY3M6bGluZSA4N1xyXG4gICBhdCBEYWxhbXVkLkludGVyZmFjZS5VaUJ1aWxkZXIuT25EcmF3KCkgaW4gQzpcXGdvYXRzb2Z0XFxjb21wYW55c2VjcmV0c1xcZGFsYW11ZFxcSW50ZXJmYWNlXFxVaUJ1aWxkZXIuY3M6bGluZSA1MDEiLCJDb250ZXh0IjoiW1wiS2lrb0d1aWRlXCJdIFVpQnVpbGRlciBPbkJ1aWxkVWkgY2F1Z2h0IGV4Y2VwdGlvbiJ9
2022-08-26 09:37:23.241 -05:00 [ERR] [KikoGuide] UiBuilder OnBuildUi caught exception
System.ArgumentOutOfRangeException: Valid values are between -62135596800000 and 253402300799999, inclusive. (Parameter 'milliseconds')
   at System.DateTimeOffset.FromUnixTimeMilliseconds(Int64 milliseconds)
   at KikoGuide.UI.Screens.Settings.SettingsScreen.DrawSettingsWindow() in /work/repo/src/UI/Screens/Settings/Settings.screen.cs:line 87
   at Dalamud.Interface.UiBuilder.OnDraw() in C:\goatsoft\companysecrets\dalamud\Interface\UiBuilder.cs:line 501

Operating System

Windows

Additional Information

No response

Bug: Settings window scales wrong in other languages

Pre-report Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

Bug Summary

The settings window does not scale properly when using languages other than English

Steps To Reproduce

No response

Dalamud.log Output

No response

Operating System

Linux

Additional Information

This is an easy fix, just make sure all text on the window is sized properly

Other: i18n support for Simplified Chinese

Preflight Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

Issue

I'm going to localize the KikoGuide to Simplified Chinese, but I cant find the project of Simplified Chinese in Crowdin.
Maybe you can add a project of Simplified Chinese in Crowdin? Thanks.

6.3 Update

Preflight Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

Issue

This plugin needs update for 6.3.

Feature: Alternate method to view guides

Preflight Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

New or Existing?

Improvement to existing feature

Summary of your suggestion.

Currently the ability to view guides is tied to 2 methods. Either having completed the quest that unlocks the Dungeon. Or if you character is in the location that matches the TerritoryID of the guide. (Clearing the dungeon is a part of the quest completion conditions. So you actually have to clear the content and then hand in the quest for it to show up in the guides.)

I would guess that in the future there will be a toggle for viewing all the guides, regardless of those conditions. So I won't talk about that.

My request is if there is any way for the guides to unlock on quest pickup rather than quest completion.

From making a guide and getting a grasp of what the JSON is targetting, I could see a potential way around this by just simple changing the UnlockQuestID to target the previous quest on that chain. Unlocking the guide 1 quest before. Not the cleanest method, but if the functionality is not on the API, it is a dirty solution.

Why should this be added or changed?

This will allow the player to skim over the guide before they head in. Rather than trying to keep up with Usain Bolt the tank while trying to read the guide.

This would still be spoiler free as by that point you know what the dungeon is called. As the quest you are on at that time is for you to actual clear said content.

Thanks!

Feature: Dalamud.FindAnything (Wotsit) IPC integration

Preflight Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

New or Existing?

Improvement to existing feature

Summary of your suggestion.

Add an option to "Open with Kiko Guide" in the search if the player has the duty unlocked

Why should this be added or changed?

Allows users of Wotsit a better experience with KikoGuide

Feature: Extract UI elements into components

Preflight Checklist

  • I have searched for existing issues and cannot find mine, or existing issues do not fit.

New or Existing?

Improvement to existing feature

Summary of your suggestion.

Right now, most parts of the UI are entirely defined within their own file, which is fine but could be improved by extracting each part of the UI into self contained elements that can then be re-used across the UI in multiple places.

A prime example of this is the Duty info UI. Right now the Editor and the Duty Info pages share duplicated code for displaying the UI - but this could be way better if it was just a few components so that visual changes only need to be made in one place and helps maintain DRY code

Why should this be added or changed?

Code cleanliness, easier future edits & implementations.

This does not need to be changed across the entire plugin, but key parts of it should extracted out into components that are independent of any screen, and ones that are heavily tied to a screen should be split into separate methods within their screens.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.