JSON structure / issues (general thread)

Hi, I've decided that perhaps it'd be easier to track those small little issues that I report from time to time when it comes to JSON in one thread - if you decide that I shouldn't do that and everything should be in its separate thread, I'll create more topics but that seems like an overkill.

Action showFloatingHTMLMenu has a JSON which has following property: "BTTActionWebViewSize" - it
seems to represent this part of the config https://i.imgur.com/NhnCEVm.png

I'm curious whether that's something that was overlooked, or a bug that you can no longer change due to backwards compatibility? I would like to know if its stable to use BTTActionWebViewSize for setting this name (I don't know what it is used for, tough)

I'm currently on latest alpha - 2.523

Good idea!

This looks like a bug. However it's safe to assume that this string will continue to work in future versions for importing. With the next update it will be renamed to BTTActionFloatingHTMLName but will still be able to import it correctly with the "bug identifier".

1 Like

Thanks, awesome. I'll use the BTTActionFloatingHTMLName as soon as its available!

I've encountered another issue - do you think this url should work?
http://127.0.0.1:64472/trigger_action/?json={"BTTPredefinedActionType":249,"BTTActionFloatingHTMLConfig":"{\"BTTCloseOnOutsideClick\":false,\"BTTUseWhiteBackground\":false,\"BTTCloseOnBrowserOpen\":false,\"BTTShowButtons\":false,\"BTTDoNotCache\":false,\"BTTSize\":\"{200,%20200}\"}","BTTEnabled2":1,"BTTEnabled":1,"BTTActionURLToLoad":"http://google.pl"}&shared_key=sBP2fYAo2Fu8TdfzhLpwdUm

This is the JSON that I'm trying to send:

{
   "BTTPredefinedActionType":249,
   "BTTActionFloatingHTMLConfig":"{\"BTTCloseOnOutsideClick\":false,\"BTTUseWhiteBackground\":false,\"BTTCloseOnBrowserOpen\":false,\"BTTShowButtons\":false,\"BTTDoNotCache\":false,\"BTTSize\":\"{200,%20200}\"}",
   "BTTEnabled2":1,
   "BTTEnabled":1,
   "BTTActionURLToLoad":"http://google.pl"
}

I'm trying to show floating web view from webserver - with this url / payload, BTT crashes and restarts. If there's any way in which I'd be able to provide logs for you or anything, please let me know. Seems to be happening if I pass BTTActionWebViewSize, too. Are there any other mandatory fields that I must fill?

And one other thing - i think it'd be great if there was an option to set the position of the floating window by manipulating the json.

Ah the floating webview is special because it requires a unique ID to work correctly. I hadn't added that to the json before.

In the latest alpha (2.524) it shouldn't crash anymore and if you add a \”BTTUUID":"SOMEID" it should also behave correctly.
I also added BTTPosition which should look like the BTTSize config. It should allow to place it anywhere on your screen, however I have not yet tested it.

Thanks @Andreas_Hegenberg! I'll test it in a minute and let you know if there are any issues with it :slight_smile:

Seems to be working fine! Thank you very much for such quick feedback and fix :slight_smile:

Can you confirm that everything is fine with this JSON?

{
  "BTTTriggerClass" : "BTTTriggerTypeKeyboardShortcut",
  "BTTPredefinedActionType" : 249,
  "BTTPredefinedActionName" : "Show Floating WebView\/HTML Menu",
  "BTTActionFloatingHTMLName" : "sdasda",
  "BTTActionFloatingHTMLConfig" : "{\"BTTCloseOnOutsideClick\":false,\"BTTUseWhiteBackground\":false,\"BTTCloseOnBrowserOpen\":false,\"BTTShowButtons\":false,\"BTTSize\":\"{0, 0}\",\"BTTDoNotCache\":false}",
  "BTTAdditionalConfiguration" : "1572864",
  "BTTEnabled2" : 1,
  "BTTUUID" : "DBB0B67B-7580-4DAF-BB06-0829436B6C77",
  "BTTTriggerOnDown" : 1,
  "BTTEnabled" : 1,
  "BTTShortcutKeyCode" : 11,
  "BTTShortcutModifierKeys" : 1572864,
  "BTTOrder" : 105,
  "BTTFiles" : [
    {
      "BTTFileContent" : "CiAgPCFET0NUWVBFIGh0bWw+CiAgPGh0bWw+CiAgPGhlYWQ+PC9oZWFkPgogIDxib2R5PgogICAgPGgxPiBIZWxsbyB3b3JsZCEgPC9oMT4KICA8L2JvZHk+CiAgPC9odG1sPgogIA====",
      "BTTFileOther" : "html"
    }
  ]
}

This does not seem to open the webView. I mean, the issue could be related to passing HTML directly - when I pass an URL it does work fine, HTML - not. I cannot trigger an action from within BTT either. The JSON above is auto generated by my lib and I try to send it via BTT webserver - it crashes :disappointed:

This is the action that I've assigned to the alt + cmd + b in BTT looks kinda similar:

{
  "BTTTriggerClass" : "BTTTriggerTypeKeyboardShortcut",
  "BTTPredefinedActionType" : 249,
  "BTTPredefinedActionName" : "Show Floating WebView\/HTML Menu",
  "BTTActionFloatingHTMLName" : "sdasda",
  "BTTActionFloatingHTMLConfig" : "{\"BTTCloseOnOutsideClick\":false,\"BTTUseWhiteBackground\":false,\"BTTCloseOnBrowserOpen\":false,\"BTTShowButtons\":false,\"BTTSize\":\"{0, 0}\",\"BTTDoNotCache\":false}",
  "BTTAdditionalConfiguration" : "1572864",
  "BTTEnabled2" : 1,
  "BTTUUID" : "DBB0B67B-7580-4DAF-BB06-0829436B6C77",
  "BTTTriggerOnDown" : 1,
  "BTTEnabled" : 1,
  "BTTShortcutKeyCode" : 11,
  "BTTShortcutModifierKeys" : 1572864,
  "BTTOrder" : 105,
  "BTTFiles" : [
    {
      "BTTFileContent" : "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIiBjbGFzcz0iZGVza3RvcC12aWV3IG5vdC1tb2JpbGUtZGV2aWNlICAiPgogIDxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogICAgPHRpdGxlPkpTT04gc3RydWN0dXJlIC8gaXNzdWVzIChnZW5lcmFsIHRocmVhZCkgLSBCdWcgUmVwb3J0cyAtIEJldHRlclRvdWNoVG9vbCBDb21tdW5pdHk8L3RpdGxlPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkhpLCBJJmFtcDsjMzk7dmUgZGVjaWRlZCB0aGF0IHBlcmhhcHMgaXQmYW1wOyMzOTtkIGJlIGVhc2llciB0byB0cmFjayB0aG9zZSBzbWFsbCBsaXR0bGUgaXNzdWVzIHRoYXQgSSByZXBvcnQgZnJvbSB0aW1lIHRvIHRpbWUgd2hlbiBpdCBjb21lcyB0byBKU09OIGluIG9uZSB0aHJlYWQgLSBpZiB5b3UgZGVjaWRlIHRoYXQgSSBzaG91bGRuJmFtcDsjMzk7dCBkbyB0aGF0IGFuZCBldmVyeXRoaW5nIHNob3VsZCBiZSBpbiBpdHMmYW1wO2hlbGxpcDsiPgogICAgPG1ldGEgbmFtZT0iZGlzY291cnNlX3RoZW1lX2tleSIgY29udGVudD0iZGNhZTk0ZDQtMWQxMy00ZWMzLWIwZDktOWMwZWUxYWZkMWY3Ij4KICAgIDxtZXRhIG5hbWU9ImRpc2NvdXJzZV9jdXJyZW50X2hvbWVwYWdlIiBjb250ZW50PSJ1bnJlYWQiPgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSIiPgo8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRpc2NvdXJzZSAyLjEuMC5iZXRhMSAtIGh0dHBzOi8vZ2l0aHViLmNvbS9kaXNjb3Vyc2UvZGlzY291cnNlIHZlcnNpb24gMjc2NTI2ZTMwZWE2ZTc5MWY5N2UxYTE0ZDFkNmJjN2EyZmMwNmJlMiI+CjxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBocmVmPSJodHRwczovL2ZvbGl2b3JhLmFpL2ZvbGl2b3JhL2Zhdmljb24uaWNvIj4KPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiB0eXBlPSJpbWFnZS9wbmciIGhyZWY9Ii9pbWFnZXMvZGVmYXVsdC1hcHBsZS10b3VjaC1pY29uLnBuZyI+CjxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjZmZmZmZmIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgbWluaW11bS1zY2FsZT0xLjAsIG1heGltdW0tc2NhbGU9MS4wLCB1c2VyLXNjYWxhYmxlPXllcyI+CjxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL2NvbW11bml0eS5mb2xpdm9yYS5haS90L2pzb24tc3RydWN0dXJlLWlzc3Vlcy1nZW5lcmFsLXRocmVhZC8xODM2IiAvPgo8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPnsiQGNvbnRleHQiOiJodHRwOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiV2ViU2l0ZSIsInVybCI6Imh0dHBzOi8vY29tbXVuaXR5LmZvbGl2b3JhLmFpIiwicG90ZW50aWFsQWN0aW9uIjp7IkB0eXBlIjoiU2VhcmNoQWN0aW9uIiwidGFyZ2V0IjoiaHR0cHM6Ly9jb21tdW5pdHkuZm9saXZvcmEuYWkvc2VhcmNoP3E9e3NlYXJjaF90ZXJtX3N0cmluZ30iLCJxdWVyeS1pbnB1dCI6InJlcXVpcmVkIG5hbWU9c2VhcmNoX3Rlcm1fc3RyaW5nIn19PC9zY3JpcHQ+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSJodHRwczovL2NvbW11bml0eS5mb2xpdm9yYS5haS9vcGVuc2VhcmNoLnhtbCIgdGl0bGU9IkJldHRlclRvdWNoVG9vbCBDb21tdW5pdHkgU2VhcmNoIj4KCiAgICA8bWV0YSBuYW1lPSJjc3JmLXBhcmFtIiBjb250ZW50PSJhdXRoZW50aWNpdHlfdG9rZW4iIC8+CjxtZXRhIG5hbWU9ImNzcmYtdG9rZW4iIGNvbnRlbnQ9IldUSWtKdlNPNzBvaWczYlNaampMZ2tuczJQOEpwQjNQZzMvaWVVdVo4eWo2Z2NON0FDa1lMTHlmaSt4ZkMyVHMwOWtsS3VxdTVLT2tvbGxYZ3ZIcWRRPT0iIC8+CgogICAgICA8bWV0YSBuYW1lPSJmcmFnbWVudCIgY29udGVudD0iISI+CgoKICAgIDxzY3JpcHQ+CiAgICAgIHdpbmRvdy5FbWJlckVOViA9IHdpbmRvdy5FbWJlckVOViB8fCB7fTsKICAgICAgd2luZG93LkVtYmVyRU5WWydGT1JDRV9KUVVFUlknXSA9IHRydWU7CiAgICA8L3NjcmlwdD4KCiAgICA8bGluayByZWw9J3ByZWxvYWQnIGhyZWY9Jy9hc3NldHMvbG9jYWxlcy9lbi1mZGY0MTljZmJkNDkwN2U2Y2E0NGRlNzNjNWEwZTBhOWJlMjNiNDBmMDcyZGUwYjUzMWRkYjRhOGZkNzM0ODMyLmpzJyBhcz0nc2NyaXB0Jy8+CjxzY3JpcHQgc3JjPScvYXNzZXRzL2xvY2FsZXMvZW4tZmRmNDE5Y2ZiZDQ5MDdlNmNhNDRkZTczYzVhMGUwYTliZTIzYjQwZjA3MmRlMGI1MzFkZGI0YThmZDczNDgzMi5qcyc+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9J3ByZWxvYWQnIGhyZWY9Jy9hc3NldHMvZW1iZXJfanF1ZXJ5LTI3ZTc3Nzg1N2I4YzA3MzBkYWNmZTA5Y2IxMTcxMTM2NWQyMWE1ZGI0ZjllZTBiODVkNDk0ZTQyNTljZjZjZGEuanMnIGFzPSdzY3JpcHQnLz4KPHNjcmlwdCBzcmM9Jy9hc3NldHMvZW1iZXJfanF1ZXJ5LTI3ZTc3Nzg1N2I4YzA3MzBkYWNmZTA5Y2IxMTcxMTM2NWQyMWE1ZGI0ZjllZTBiODVkNDk0ZTQyNTljZjZjZGEuanMnPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSdwcmVsb2FkJyBocmVmPScvYXNzZXRzL3ByZWxvYWQtc3RvcmUtZWM5MGZmYWI5ZDdhNmQ5ZTUwN2RkYTdjZjczNDNlOWQ1MGI4YmNlNjI0ZjdmNDQ0ODZhYzhmZDZiOTgxNDMwOS5qcycgYXM9J3NjcmlwdCcvPgo8c2NyaXB0IHNyYz0nL2Fzc2V0cy9wcmVsb2FkLXN0b3JlLWVjOTBmZmFiOWQ3YTZkOWU1MDdkZGE3Y2Y3MzQzZTlkNTBiOGJjZTYyNGY3ZjQ0NDg2YWM4ZmQ2Yjk4MTQzMDkuanMnPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSdwcmVsb2FkJyBocmVmPScvYXNzZXRzL3ZlbmRvci02ZTU5ZjhkMDE5MGI3NjZhYjQ5MmQ0OGM4Mzk4M2Y2N2JiN2E1ZWNiZmY5ZTIxM2Y3OWZhMTJlNGM3MmEwNmU2LmpzJyBhcz0nc2NyaXB0Jy8+CjxzY3JpcHQgc3JjPScvYXNzZXRzL3ZlbmRvci02ZTU5ZjhkMDE5MGI3NjZhYjQ5MmQ0OGM4Mzk4M2Y2N2JiN2E1ZWNiZmY5ZTIxM2Y3OWZhMTJlNGM3MmEwNmU2LmpzJz48L3NjcmlwdD4KICAgIDxsaW5rIHJlbD0ncHJlbG9hZCcgaHJlZj0nL2Fzc2V0cy9wcmV0dHktdGV4dC1idW5kbGUtNDMwMjBiODk0N2E3MTgxZGVjZmY0ODcwZjU3NWU1Y2E1NDcxYzE5ZWM2NjVhN2E4MTAzODQ2YjBlMjI0NWUwZC5qcycgYXM9J3NjcmlwdCcvPgo8c2NyaXB0IHNyYz0nL2Fzc2V0cy9wcmV0dHktdGV4dC1idW5kbGUtNDMwMjBiODk0N2E3MTgxZGVjZmY0ODcwZjU3NWU1Y2E1NDcxYzE5ZWM2NjVhN2E4MTAzODQ2YjBlMjI0NWUwZC5qcyc+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9J3ByZWxvYWQnIGhyZWY9Jy9hc3NldHMvYXBwbGljYXRpb24tOTQ4ZmQyMzE2N2MzZjIyZWI4ZDA0MDE3ODRlY2Y1ZWUzZWQ0MjdkOTAwMTRjMWIwZDNkMWFhNDAzOWVmNzIwYy5qcycgYXM9J3NjcmlwdCcvPgo8c2NyaXB0IHNyYz0nL2Fzc2V0cy9hcHBsaWNhdGlvbi05NDhmZDIzMTY3YzNmMjJlYjhkMDQwMTc4NGVjZjVlZTNlZDQyN2Q5MDAxNGMxYjBkM2QxYWE0MDM5ZWY3MjBjLmpzJz48L3NjcmlwdD4KICAgIDxsaW5rIHJlbD0ncHJlbG9hZCcgaHJlZj0nL2Fzc2V0cy9wbHVnaW4tM2RiMDc2YTA5MWQ5MDQ1MDk2Y2M2ZDBlMzBkYTU3ZjRhNzlkYmNhZmQwNmFlNWI1YmUyYTFjNTU4YjA3NDQ5Zi5qcycgYXM9J3NjcmlwdCcvPgo8c2NyaXB0IHNyYz0nL2Fzc2V0cy9wbHVnaW4tM2RiMDc2YTA5MWQ5MDQ1MDk2Y2M2ZDBlMzBkYTU3ZjRhNzlkYmNhZmQwNmFlNWI1YmUyYTFjNTU4YjA3NDQ5Zi5qcyc+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9J3ByZWxvYWQnIGhyZWY9Jy9hc3NldHMvcGx1Z2luLXRoaXJkLXBhcnR5LTAxYmE0NzE5YzgwYjZmZTkxMWIwOTFhN2MwNTEyNGI2NGVlZWNlOTY0ZTA5YzA1OGVmOGY5ODA1ZGFjYTU0NmIuanMnIGFzPSdzY3JpcHQnLz4KPHNjcmlwdCBzcmM9Jy9hc3NldHMvcGx1Z2luLXRoaXJkLXBhcnR5LTAxYmE0NzE5YzgwYjZmZTkxMWIwOTFhN2MwNTEyNGI2NGVlZWNlOTY0ZTA5YzA1OGVmOGY5ODA1ZGFjYTU0NmIuanMnPjwvc2NyaXB0PgoKCiAgICAgIAoKICAgIAogICAgCiAgICA8bGluayByZWw9Im1hbmlmZXN0IiBocmVmPSIvbWFuaWZlc3QuanNvbiI+CgoKICAgICAgPGxpbmsgaHJlZj0iL3N0eWxlc2hlZXRzL2Rlc2t0b3BfMV8xNmIwNDNkNzU0OWYxYzJkNjRiMmQ3NDc3MjBiZDFjNzkwOTA5ODA2LmNzcz9fX3dzPWNvbW11bml0eS5mb2xpdm9yYS5haSIgbWVkaWE9ImFsbCIgcmVsPSJzdHlsZXNoZWV0IiBkYXRhLXRhcmdldD0iZGVza3RvcCIvPgoKCiAgPGxpbmsgaHJlZj0iL3N0eWxlc2hlZXRzL2Rlc2t0b3BfdGhlbWVfMV9mOWIxNGIwM2VhYjhhMTkwMjVjMzVlYTQ2NGNmNzdhOTIzYWJiNzFjLmNzcz9fX3dzPWNvbW11bml0eS5mb2xpdm9yYS5haSIgbWVkaWE9ImFsbCIgcmVsPSJzdHlsZXNoZWV0IiBkYXRhLXRhcmdldD0iZGVza3RvcF90aGVtZSIvPgoKICAgIAoKPGxpbmsgcmVsPSJwcmVsb2FkIiBocmVmPSIvYXNzZXRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQtMmFkZWZjYmMwNDFlN2QxOGZjZjJkNDE3ODc5ZGM1YTA5OTk3YWE2NGQ2NzViN2EzYzRiNmNlMzNkYTEzZjNmZS53b2ZmMj9odHRwczovL2NvbW11bml0eS5mb2xpdm9yYS5haSYyJnY9NC43LjAiIGFzPSJmb250IiB0eXBlPSJmb250L3dvZmYyIiBjcm9zc29yaWdpbiAvPgo8c3R5bGU+CiAgQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJzsKICAgIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQtMmFkZWZjYmMwNDFlN2QxOGZjZjJkNDE3ODc5ZGM1YTA5OTk3YWE2NGQ2NzViN2EzYzRiNmNlMzNkYTEzZjNmZS53b2ZmMj9odHRwczovL2NvbW11bml0eS5mb2xpdm9yYS5haSYyJnY9NC43LjAnKSBmb3JtYXQoJ3dvZmYyJyksCiAgICAgICAgIHVybCgnL2Fzc2V0cy9mb250YXdlc29tZS13ZWJmb250LWJhMGM1OWRlYjU0NTBmNWNiNDFiM2Y5MzYwOWVlMmQwZDk5NTQxNTg3N2RkZmEyMjNlOGE4YTc1MzM0NzRmMDcud29mZj9odHRwczovL2NvbW11bml0eS5mb2xpdm9yYS5haSZhbXA7MiZ2PTQuNy4wJykgZm9ybWF0KCd3b2ZmJyk7CiAgfQo8L3N0eWxlPgoKCiAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0eXBlPSJhcHBsaWNhdGlvbi9yc3MreG1sIiB0aXRsZT0iUlNTIGZlZWQgb2YgJiMzOTtKU09OIHN0cnVjdHVyZSAvIGlzc3VlcyAoZ2VuZXJhbCB0aHJlYWQpJiMzOTsiIGhyZWY9Imh0dHBzOi8vY29tbXVuaXR5LmZvbGl2b3JhLmFpL3QvanNvbi1zdHJ1Y3R1cmUtaXNzdWVzLWdlbmVyYWwtdGhyZWFkLzE4MzYucnNzIiAvPgogIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkJldHRlclRvdWNoVG9vbCBDb21tdW5pdHkiIC8+CjxtZXRhIG5hbWU9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0ic3VtbWFyeSIgLz4KPG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9jb21tdW5pdHkuZm9saXZvcmEuYWkvdXNlcl9hdmF0YXIvY29tbXVuaXR5LmZvbGl2b3JhLmFpL2FuZHJlYXNfaGVnZW5iZXJnLzIwMC8xN18xLnBuZyIgLz4KPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJodHRwczovL2NvbW11bml0eS5mb2xpdm9yYS5haS91c2VyX2F2YXRhci9jb21tdW5pdHkuZm9saXZvcmEuYWkvYW5kcmVhc19oZWdlbmJlcmcvMjAwLzE3XzEucG5nIiAvPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL2NvbW11bml0eS5mb2xpdm9yYS5haS90L2pzb24tc3RydWN0dXJlLWlzc3Vlcy1nZW5lcmFsLXRocmVhZC8xODM2LzIiIC8+CjxtZXRhIG5hbWU9InR3aXR0ZXI6dXJsIiBjb250ZW50PSJodHRwczovL2NvbW11bml0eS5mb2xpdm9yYS5haS90L2pzb24tc3RydWN0dXJlLWlzc3Vlcy1nZW5lcmFsLXRocmVhZC8xODM2LzIiIC8+CjxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iSlNPTiBzdHJ1Y3R1cmUgLyBpc3N1ZXMgKGdlbmVyYWwgdGhyZWFkKSIgLz4KPG1ldGEgbmFtZT0idHdpdHRlcjp0aXRsZSIgY29udGVudD0iSlNPTiBzdHJ1Y3R1cmUgLyBpc3N1ZXMgKGdlbmVyYWwgdGhyZWFkKSIgLz4KPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJHb29kIGlkZWEhICBUaGlzIGxvb2tzIGxpa2UgYSBidWcuIEhvd2V2ZXIgaXQmIzM5O3Mgc2FmZSB0byBhc3N1bWUgdGhhdCB0aGlzIHN0cmluZyB3aWxsIGNvbnRpbnVlIHRvIHdvcmsgaW4gZnV0dXJlIHZlcnNpb25zIGZvciBpbXBvcnRpbmcuIFdpdGggdGhlIG5leHQgdXBkYXRlIGl0IHdpbGwgYmUgcmVuYW1lZCB0byBCVFRBY3Rpb25GbG9hdGluZ0hUTUxOYW1lIGJ1dCB3aWxsIHN0aWxsIGJlIGFibGUgdG8gaW1wb3J0IGl0IGNvcnJlY3RseSB3aXRoIHRoZSAmcXVvdDtidWcgaWRlbnRpZmllciZxdW90Oy4iIC8+CjxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9Ikdvb2QgaWRlYSEgIFRoaXMgbG9va3MgbGlrZSBhIGJ1Zy4gSG93ZXZlciBpdCYjMzk7cyBzYWZlIHRvIGFzc3VtZSB0aGF0IHRoaXMgc3RyaW5nIHdpbGwgY29udGludWUgdG8gd29yayBpbiBmdXR1cmUgdmVyc2lvbnMgZm9yIGltcG9ydGluZy4gV2l0aCB0aGUgbmV4dCB1cGRhdGUgaXQgd2lsbCBiZSByZW5hbWVkIHRvIEJUVEFjdGlvbkZsb2F0aW5nSFRNTE5hbWUgYnV0IHdpbGwgc3RpbGwgYmUgYWJsZSB0byBpbXBvcnQgaXQgY29ycmVjdGx5IHdpdGggdGhlICZxdW90O2J1ZyBpZGVudGlmaWVyJnF1b3Q7LiIgLz4KPG1ldGEgcHJvcGVydHk9Im9nOmlnbm9yZV9jYW5vbmljYWwiIGNvbnRlbnQ9InRydWUiIC8+CgoKCiAgICAKICA8L2hlYWQ+CgogIDxib2R5IGNsYXNzPSIiPgogICAgCiAgICA8bm9zY3JpcHQgZGF0YS1wYXRoPSIvdC9qc29uLXN0cnVjdHVyZS1pc3N1ZXMtZ2VuZXJhbC10aHJlYWQvMTgzNi8yIj4KICAgICAgCiAgPGhlYWRlciBjbGFzcz0iZC1oZWFkZXIiPgogICAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnRzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUgc3BhbjEzIj4KICAgICAgICAgICAgPGEgaHJlZj0iLyI+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9mb2xpdm9yYS5haS9mb2xpdm9yYS9zdGF0aWMvbWVkaWEvYnR0aWNvbi5jYzBiZjhiYy5wbmciIGFsdD0iQmV0dGVyVG91Y2hUb29sIENvbW11bml0eSIgaWQ9InNpdGUtbG9nbyI+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvaGVhZGVyPgoKICAgICAgPGRpdiBpZD0ibWFpbi1vdXRsZXQiIGNsYXNzPSJ3cmFwIj4KICAgICAgICA8IS0tIHByZWxvYWQtY29udGVudDogLS0+CiAgICAgICAgPGgxPgogIDxhIGhyZWY9Ii90L2pzb24tc3RydWN0dXJlLWlzc3Vlcy1nZW5lcmFsLXRocmVhZC8xODM2Ij5KU09OIHN0cnVjdHVyZSAvIGlzc3VlcyAoZ2VuZXJhbCB0aHJlYWQpPC9hPgo8L2gxPgoKPGRpdiBpZD0nYnJlYWRjcnVtYnMnPgogICAgPGRpdiBpZD0iYnJlYWRjcnVtYi0wIiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHA6Ly9kYXRhLXZvY2FidWxhcnkub3JnL0JyZWFkY3J1bWIiCj4KICAgICAgPGEgaHJlZj0iL2MvYnVnLXJlcG9ydHMiIGl0ZW1wcm9wPSJ1cmwiPgogICAgICAgIDxzcGFuIGl0ZW1wcm9wPSJ0aXRsZSI+QnVnIFJlcG9ydHM8L3NwYW4+CiAgICAgIDwvYT4KICAgIDwvZGl2Pgo8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSd0YWdzLWxpc3QnIGl0ZW1zY29wZSBpdGVtdHlwZT0naHR0cDovL3NjaGVtYS5vcmcvSXRlbUxpc3QnPgogICAgICAgIDxkaXYgaXRlbXByb3A9J2l0ZW1MaXN0RWxlbWVudCcgaXRlbXNjb3BlIGl0ZW10eXBlPSdodHRwOi8vc2NoZW1hLm9yZy9MaXN0SXRlbSc+CiAgICAgICAgICA8bWV0YSBpdGVtcHJvcD0ndXJsJyBjb250ZW50PSdodHRwczovL2NvbW11bml0eS5mb2xpdm9yYS5haS90YWdzL2pzb24nPgogICAgICAgICAgPGEgaHJlZj0naHR0cHM6Ly9jb21tdW5pdHkuZm9saXZvcmEuYWkvdGFncy9qc29uJyBpdGVtcHJvcD0naXRlbSc+CiAgICAgICAgICAgIDxzcGFuIGl0ZW1wcm9wPSduYW1lJz5qc29uPC9zcGFuPgogICAgICAgICAgPC9hPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgoKCgo8aHI+CgoKICA8ZGl2IGl0ZW1zY29wZSBpdGVtdHlwZT0naHR0cDovL3NjaGVtYS5vcmcvRGlzY3Vzc2lvbkZvcnVtUG9zdGluZyc+CiAgICAgIDxkaXYgY2xhc3M9J2NyZWF0b3InPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGEgaHJlZj0nL3UvV29yaWUnPjxiIGl0ZW1wcm9wPSdhdXRob3InPldvcmllPC9iPjwvYT4KICAgICAgICAgICAKICAgICAgICAgICA8dGltZSBkYXRldGltZT0nMjAxOC0wNi0xOVQxMjowMjo0OVonIGl0ZW1wcm9wPSdkYXRlUHVibGlzaGVkJz4KICAgICAgICAgICAgIDIwMTgtMDYtMTkgMTI6MDI6NDkgVVRDCiAgICAgICAgICAgPC90aW1lPgogICAgICAgIDwvc3Bhbj4KICAgICAgICA8c3BhbiBpdGVtcHJvcD0ncG9zaXRpb24nPiMxPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ncG9zdCcgaXRlbXByb3A9J2FydGljbGVCb2R5Jz4KICAgICAgICA8cD5IaSwgSSd2ZSBkZWNpZGVkIHRoYXQgcGVyaGFwcyBpdCdkIGJlIGVhc2llciB0byB0cmFjayB0aG9zZSBzbWFsbCBsaXR0bGUgaXNzdWVzIHRoYXQgSSByZXBvcnQgZnJvbSB0aW1lIHRvIHRpbWUgd2hlbiBpdCBjb21lcyB0byBKU09OIGluIG9uZSB0aHJlYWQgLSBpZiB5b3UgZGVjaWRlIHRoYXQgSSBzaG91bGRuJ3QgZG8gdGhhdCBhbmQgZXZlcnl0aGluZyBzaG91bGQgYmUgaW4gaXRzIHNlcGFyYXRlIHRocmVhZCwgSSdsbCBjcmVhdGUgbW9yZSB0b3BpY3MgYnV0IHRoYXQgc2VlbXMgbGlrZSBhbiBvdmVya2lsbC48L3A+CjxwPkFjdGlvbiBzaG93RmxvYXRpbmdIVE1MTWVudSBoYXMgYSBKU09OIHdoaWNoIGhhcyBmb2xsb3dpbmcgcHJvcGVydHk6IDxjb2RlPiJCVFRBY3Rpb25XZWJWaWV3U2l6ZSI8L2NvZGU+IC0gaXQ8YnI+CnNlZW1zIHRvIHJlcHJlc2VudCB0aGlzIHBhcnQgb2YgdGhlIGNvbmZpZyA8YSBocmVmPSJodHRwczovL2kuaW1ndXIuY29tL05obkNFVm0ucG5nIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIj5odHRwczovL2kuaW1ndXIuY29tL05obkNFVm0ucG5nPC9hPjwvcD4KPHA+SSdtIGN1cmlvdXMgd2hldGhlciB0aGF0J3Mgc29tZXRoaW5nIHRoYXQgd2FzIG92ZXJsb29rZWQsIG9yIGEgYnVnIHRoYXQgeW91IGNhbiBubyBsb25nZXIgY2hhbmdlIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eT8gSSB3b3VsZCBsaWtlIHRvIGtub3cgaWYgaXRzIHN0YWJsZSB0byB1c2UgPGNvZGU+QlRUQWN0aW9uV2ViVmlld1NpemU8L2NvZGU+IGZvciBzZXR0aW5nIHRoaXMgbmFtZSAoSSBkb24ndCBrbm93IHdoYXQgaXQgaXMgdXNlZCBmb3IsIHRvdWdoKTwvcD4KPHA+SSdtIGN1cnJlbnRseSBvbiBsYXRlc3QgYWxwaGEgLSAyLjUyMzwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxtZXRhIGl0ZW1wcm9wPSdpbnRlcmFjdGlvbkNvdW50JyBjb250ZW50PSdVc2VyTGlrZXM6MCc+CiAgICAgIDxtZXRhIGl0ZW1wcm9wPSdpbnRlcmFjdGlvbkNvdW50JyBjb250ZW50PSdVc2VyQ29tbWVudHM6MCc+CiAgICAgIDxtZXRhIGl0ZW1wcm9wPSdoZWFkbGluZScgY29udGVudD0nSlNPTiBzdHJ1Y3R1cmUgLyBpc3N1ZXMgKGdlbmVyYWwgdGhyZWFkKSc+CiAgICAgIDxocj4KICA8L2Rpdj4KICA8ZGl2IGl0ZW1zY29wZSBpdGVtdHlwZT0naHR0cDovL3NjaGVtYS5vcmcvRGlzY3Vzc2lvbkZvcnVtUG9zdGluZyc+CiAgICAgIDxkaXYgY2xhc3M9J2NyZWF0b3InPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGEgaHJlZj0nL3UvQW5kcmVhc19IZWdlbmJlcmcnPjxiIGl0ZW1wcm9wPSdhdXRob3InPkFuZHJlYXNfSGVnZW5iZXJnPC9iPjwvYT4KICAgICAgICAgICAKICAgICAgICAgICA8dGltZSBkYXRldGltZT0nMjAxOC0wNi0xOVQxMjoxMjoyN1onIGl0ZW1wcm9wPSdkYXRlUHVibGlzaGVkJz4KICAgICAgICAgICAgIDIwMTgtMDYtMTkgMTI6MTI6MjcgVVRDCiAgICAgICAgICAgPC90aW1lPgogICAgICAgIDwvc3Bhbj4KICAgICAgICA8c3BhbiBpdGVtcHJvcD0ncG9zaXRpb24nPiMyPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ncG9zdCcgaXRlbXByb3A9J2FydGljbGVCb2R5Jz4KICAgICAgICA8cD5Hb29kIGlkZWEhPC9wPgo8cD5UaGlzIGxvb2tzIGxpa2UgYSBidWcuIEhvd2V2ZXIgaXQncyBzYWZlIHRvIGFzc3VtZSB0aGF0IHRoaXMgc3RyaW5nIHdpbGwgY29udGludWUgdG8gd29yayBpbiBmdXR1cmUgdmVyc2lvbnMgZm9yIGltcG9ydGluZy4gV2l0aCB0aGUgbmV4dCB1cGRhdGUgaXQgd2lsbCBiZSByZW5hbWVkIHRvIEJUVEFjdGlvbkZsb2F0aW5nSFRNTE5hbWUgYnV0IHdpbGwgc3RpbGwgYmUgYWJsZSB0byBpbXBvcnQgaXQgY29ycmVjdGx5IHdpdGggdGhlICJidWcgaWRlbnRpZmllciIuPC9wPgogICAgICA8L2Rpdj4KICAgICAgPG1ldGEgaXRlbXByb3A9J2ludGVyYWN0aW9uQ291bnQnIGNvbnRlbnQ9J1VzZXJMaWtlczoxJz4KICAgICAgPG1ldGEgaXRlbXByb3A9J2ludGVyYWN0aW9uQ291bnQnIGNvbnRlbnQ9J1VzZXJDb21tZW50czowJz4KICAgICAgPG1ldGEgaXRlbXByb3A9J2hlYWRsaW5lJyBjb250ZW50PSdKU09OIHN0cnVjdHVyZSAvIGlzc3VlcyAoZ2VuZXJhbCB0aHJlYWQpJz4KICAgICAgPGhyPgogIDwvZGl2PgogIDxkaXYgaXRlbXNjb3BlIGl0ZW10eXBlPSdodHRwOi8vc2NoZW1hLm9yZy9EaXNjdXNzaW9uRm9ydW1Qb3N0aW5nJz4KICAgICAgPGRpdiBjbGFzcz0nY3JlYXRvcic+CiAgICAgICAgPHNwYW4+CiAgICAgICAgICA8YSBocmVmPScvdS9Xb3JpZSc+PGIgaXRlbXByb3A9J2F1dGhvcic+V29yaWU8L2I+PC9hPgogICAgICAgICAgIAogICAgICAgICAgIDx0aW1lIGRhdGV0aW1lPScyMDE4LTA2LTE5VDE0OjIzOjQ2WicgaXRlbXByb3A9J2RhdGVQdWJsaXNoZWQnPgogICAgICAgICAgICAgMjAxOC0wNi0xOSAxNDoyMzo0NiBVVEMKICAgICAgICAgICA8L3RpbWU+CiAgICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGl0ZW1wcm9wPSdwb3NpdGlvbic+IzM8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSdwb3N0JyBpdGVtcHJvcD0nYXJ0aWNsZUJvZHknPgogICAgICAgIDxwPlRoYW5rcywgYXdlc29tZS4gSSdsbCB1c2UgdGhlIDxjb2RlPkJUVEFjdGlvbkZsb2F0aW5nSFRNTE5hbWU8L2NvZGU+IGFzIHNvb24gYXMgaXRzIGF2YWlsYWJsZSE8L3A+CjxwPkkndmUgZW5jb3VudGVyZWQgYW5vdGhlciBpc3N1ZSAtIGRvIHlvdSB0aGluayB0aGlzIHVybCBzaG91bGQgd29yaz88YnI+Cjxjb2RlPmh0dHA6Ly8xMjcuMC4wLjE6NjQ0NzIvdHJpZ2dlcl9hY3Rpb24vP2pzb249eyJCVFRQcmVkZWZpbmVkQWN0aW9uVHlwZSI6MjQ5LCJCVFRBY3Rpb25GbG9hdGluZ0hUTUxDb25maWciOiJ7XCJCVFRDbG9zZU9uT3V0c2lkZUNsaWNrXCI6ZmFsc2UsXCJCVFRVc2VXaGl0ZUJhY2tncm91bmRcIjpmYWxzZSxcIkJUVENsb3NlT25Ccm93c2VyT3BlblwiOmZhbHNlLFwiQlRUU2hvd0J1dHRvbnNcIjpmYWxzZSxcIkJUVERvTm90Q2FjaGVcIjpmYWxzZSxcIkJUVFNpemVcIjpcInsyMDAsJTIwMjAwfVwifSIsIkJUVEVuYWJsZWQyIjoxLCJCVFRFbmFibGVkIjoxLCJCVFRBY3Rpb25VUkxUb0xvYWQiOiJodHRwOi8vZ29vZ2xlLnBsIn0mYW1wO3NoYXJlZF9rZXk9c0JQMmZZQW8yRnU4VGRmemhMcHdkVW08L2NvZGU+PC9wPgo8cD5UaGlzIGlzIHRoZSBKU09OIHRoYXQgSSdtIHRyeWluZyB0byBzZW5kOjwvcD4KPHByZT48Y29kZSBjbGFzcz0ibGFuZy1hdXRvIj57CiAgICJCVFRQcmVkZWZpbmVkQWN0aW9uVHlwZSI6MjQ5LAogICAiQlRUQWN0aW9uRmxvYXRpbmdIVE1MQ29uZmlnIjoie1wiQlRUQ2xvc2VPbk91dHNpZGVDbGlja1wiOmZhbHNlLFwiQlRUVXNlV2hpdGVCYWNrZ3JvdW5kXCI6ZmFsc2UsXCJCVFRDbG9zZU9uQnJvd3Nlck9wZW5cIjpmYWxzZSxcIkJUVFNob3dCdXR0b25zXCI6ZmFsc2UsXCJCVFREb05vdENhY2hlXCI6ZmFsc2UsXCJCVFRTaXplXCI6XCJ7MjAwLCUyMDIwMH1cIn0iLAogICAiQlRURW5hYmxlZDIiOjEsCiAgICJCVFRFbmFibGVkIjoxLAogICAiQlRUQWN0aW9uVVJMVG9Mb2FkIjoiaHR0cDovL2dvb2dsZS5wbCIKfQo8L2NvZGU+PC9wcmU+CjxwPkknbSB0cnlpbmcgdG8gc2hvdyBmbG9hdGluZyB3ZWIgdmlldyBmcm9tIHdlYnNlcnZlciAtIHdpdGggdGhpcyB1cmwgLyBwYXlsb2FkLCBCVFQgY3Jhc2hlcyBhbmQgcmVzdGFydHMuIElmIHRoZXJlJ3MgYW55IHdheSBpbiB3aGljaCBJJ2QgYmUgYWJsZSB0byBwcm92aWRlIGxvZ3MgZm9yIHlvdSBvciBhbnl0aGluZywgcGxlYXNlIGxldCBtZSBrbm93LiBTZWVtcyB0byBiZSBoYXBwZW5pbmcgaWYgSSBwYXNzIDxjb2RlPkJUVEFjdGlvbldlYlZpZXdTaXplPC9jb2RlPiwgdG9vLiBBcmUgdGhlcmUgYW55IG90aGVyIG1hbmRhdG9yeSBmaWVsZHMgdGhhdCBJIG11c3QgZmlsbD88L3A+CjxwPkFuZCBvbmUgb3RoZXIgdGhpbmcgLSBpIHRoaW5rIGl0J2QgYmUgZ3JlYXQgaWYgdGhlcmUgd2FzIGFuIG9wdGlvbiB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBmbG9hdGluZyB3aW5kb3cgYnkgbWFuaXB1bGF0aW5nIHRoZSBqc29uLjwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxtZXRhIGl0ZW1wcm9wPSdpbnRlcmFjdGlvbkNvdW50JyBjb250ZW50PSdVc2VyTGlrZXM6MCc+CiAgICAgIDxtZXRhIGl0ZW1wcm9wPSdpbnRlcmFjdGlvbkNvdW50JyBjb250ZW50PSdVc2VyQ29tbWVudHM6MSc+CiAgICAgIDxtZXRhIGl0ZW1wcm9wPSdoZWFkbGluZScgY29udGVudD0nSlNPTiBzdHJ1Y3R1cmUgLyBpc3N1ZXMgKGdlbmVyYWwgdGhyZWFkKSc+CiAgICAgIDxocj4KICA8L2Rpdj4KICA8ZGl2IGl0ZW1zY29wZSBpdGVtdHlwZT0naHR0cDovL3NjaGVtYS5vcmcvRGlzY3Vzc2lvbkZvcnVtUG9zdGluZyc+CiAgICAgIDxkaXYgY2xhc3M9J2NyZWF0b3InPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGEgaHJlZj0nL3UvQW5kcmVhc19IZWdlbmJlcmcnPjxiIGl0ZW1wcm9wPSdhdXRob3InPkFuZHJlYXNfSGVnZW5iZXJnPC9iPjwvYT4KICAgICAgICAgICAKICAgICAgICAgICA8dGltZSBkYXRldGltZT0nMjAxOC0wNi0yMFQxNDoyMzoyOVonIGl0ZW1wcm9wPSdkYXRlUHVibGlzaGVkJz4KICAgICAgICAgICAgIDIwMTgtMDYtMjAgMTQ6MjM6MjkgVVRDCiAgICAgICAgICAgPC90aW1lPgogICAgICAgIDwvc3Bhbj4KICAgICAgICA8c3BhbiBpdGVtcHJvcD0ncG9zaXRpb24nPiM0PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ncG9zdCcgaXRlbXByb3A9J2FydGljbGVCb2R5Jz4KICAgICAgICA8cD5BaCB0aGUgZmxvYXRpbmcgd2VidmlldyBpcyBzcGVjaWFsIGJlY2F1c2UgaXQgcmVxdWlyZXMgYSB1bmlxdWUgSUQgdG8gd29yayBjb3JyZWN0bHkuIEkgaGFkbid0IGFkZGVkIHRoYXQgdG8gdGhlIGpzb24gYmVmb3JlLjwvcD4KPHA+SW4gdGhlIGxhdGVzdCBhbHBoYSAoMi41MjQpIGl0IHNob3VsZG4ndCBjcmFzaCBhbnltb3JlIGFuZCBpZiB5b3UgYWRkIGEgXOKAnUJUVFVVSUQiOiI8c3Ryb25nPlNPTUVJRDwvc3Ryb25nPiIgaXQgc2hvdWxkIGFsc28gYmVoYXZlIGNvcnJlY3RseS48YnI+CkkgYWxzbyBhZGRlZCBCVFRQb3NpdGlvbiB3aGljaCBzaG91bGQgbG9vayBsaWtlIHRoZSBCVFRTaXplIGNvbmZpZy4gSXQgc2hvdWxkIGFsbG93IHRvIHBsYWNlIGl0IGFueXdoZXJlIG9uIHlvdXIgc2NyZWVuLCBob3dldmVyIEkgaGF2ZSBub3QgeWV0IHRlc3RlZCBpdC48L3A+CiAgICAgIDwvZGl2PgogICAgICA8bWV0YSBpdGVtcHJvcD0naW50ZXJhY3Rpb25Db3VudCcgY29udGVudD0nVXNlckxpa2VzOjAnPgogICAgICA8bWV0YSBpdGVtcHJvcD0naW50ZXJhY3Rpb25Db3VudCcgY29udGVudD0nVXNlckNvbW1lbnRzOjEnPgogICAgICA8bWV0YSBpdGVtcHJvcD0naGVhZGxpbmUnIGNvbnRlbnQ9J0pTT04gc3RydWN0dXJlIC8gaXNzdWVzIChnZW5lcmFsIHRocmVhZCknPgogICAgICA8aHI+CiAgPC9kaXY+CiAgPGRpdiBpdGVtc2NvcGUgaXRlbXR5cGU9J2h0dHA6Ly9zY2hlbWEub3JnL0Rpc2N1c3Npb25Gb3J1bVBvc3RpbmcnPgogICAgICA8ZGl2IGNsYXNzPSdjcmVhdG9yJz4KICAgICAgICA8c3Bhbj4KICAgICAgICAgIDxhIGhyZWY9Jy91L1dvcmllJz48YiBpdGVtcHJvcD0nYXV0aG9yJz5Xb3JpZTwvYj48L2E+CiAgICAgICAgICAgCiAgICAgICAgICAgPHRpbWUgZGF0ZXRpbWU9JzIwMTgtMDYtMjBUMTQ6MjU6MjJaJyBpdGVtcHJvcD0nZGF0ZVB1Ymxpc2hlZCc+CiAgICAgICAgICAgICAyMDE4LTA2LTIwIDE0OjI1OjIyIFVUQwogICAgICAgICAgIDwvdGltZT4KICAgICAgICA8L3NwYW4+CiAgICAgICAgPHNwYW4gaXRlbXByb3A9J3Bvc2l0aW9uJz4jNTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9J3Bvc3QnIGl0ZW1wcm9wPSdhcnRpY2xlQm9keSc+CiAgICAgICAgPHA+VGhhbmtzIDxhIGNsYXNzPSJtZW50aW9uIiBocmVmPSIvdS9hbmRyZWFzX2hlZ2VuYmVyZyI+QEFuZHJlYXNfSGVnZW5iZXJnPC9hPiEgSSdsbCB0ZXN0IGl0IGluIGEgbWludXRlIGFuZCBsZXQgeW91IGtub3cgaWYgdGhlcmUgYXJlIGFueSBpc3N1ZXMgd2l0aCBpdCA8aW1nIHNyYz0iaHR0cHM6Ly9jb21tdW5pdHkuZm9saXZvcmEuYWkvaW1hZ2VzL2Vtb2ppL2FwcGxlL3NsaWdodF9zbWlsZS5wbmc\/dj01IiB0aXRsZT0iOnNsaWdodF9zbWlsZToiIGNsYXNzPSJlbW9qaSIgYWx0PSI6c2xpZ2h0X3NtaWxlOiI+PC9wPgogICAgICA8L2Rpdj4KICAgICAgPG1ldGEgaXRlbXByb3A9J2ludGVyYWN0aW9uQ291bnQnIGNvbnRlbnQ9J1VzZXJMaWtlczowJz4KICAgICAgPG1ldGEgaXRlbXByb3A9J2ludGVyYWN0aW9uQ291bnQnIGNvbnRlbnQ9J1VzZXJDb21tZW50czowJz4KICAgICAgPG1ldGEgaXRlbXByb3A9J2hlYWRsaW5lJyBjb250ZW50PSdKU09OIHN0cnVjdHVyZSAvIGlzc3VlcyAoZ2VuZXJhbCB0aHJlYWQpJz4KICAgICAgPGhyPgogIDwvZGl2PgogIDxkaXYgaXRlbXNjb3BlIGl0ZW10eXBlPSdodHRwOi8vc2NoZW1hLm9yZy9EaXNjdXNzaW9uRm9ydW1Qb3N0aW5nJz4KICAgICAgPGRpdiBjbGFzcz0nY3JlYXRvcic+CiAgICAgICAgPHNwYW4+CiAgICAgICAgICA8YSBocmVmPScvdS9Xb3JpZSc+PGIgaXRlbXByb3A9J2F1dGhvcic+V29yaWU8L2I+PC9hPgogICAgICAgICAgIAogICAgICAgICAgIDx0aW1lIGRhdGV0aW1lPScyMDE4LTA2LTIwVDE0OjMyOjI4WicgaXRlbXByb3A9J2RhdGVQdWJsaXNoZWQnPgogICAgICAgICAgICAgMjAxOC0wNi0yMCAxNDozMjoyOCBVVEMKICAgICAgICAgICA8L3RpbWU+CiAgICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGl0ZW1wcm9wPSdwb3NpdGlvbic+IzY8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSdwb3N0JyBpdGVtcHJvcD0nYXJ0aWNsZUJvZHknPgogICAgICAgIDxwPlNlZW1zIHRvIGJlIHdvcmtpbmcgZmluZSEgVGhhbmsgeW91IHZlcnkgbXVjaCBmb3Igc3VjaCBxdWljayBmZWVkYmFjayBhbmQgZml4IDxpbWcgc3JjPSJodHRwczovL2NvbW11bml0eS5mb2xpdm9yYS5haS9pbWFnZXMvZW1vamkvYXBwbGUvc2xpZ2h0X3NtaWxlLnBuZz92PTUiIHRpdGxlPSI6c2xpZ2h0X3NtaWxlOiIgY2xhc3M9ImVtb2ppIiBhbHQ9IjpzbGlnaHRfc21pbGU6Ij48L3A+CiAgICAgIDwvZGl2PgogICAgICA8bWV0YSBpdGVtcHJvcD0naW50ZXJhY3Rpb25Db3VudCcgY29udGVudD0nVXNlckxpa2VzOjAnPgogICAgICA8bWV0YSBpdGVtcHJvcD0naW50ZXJhY3Rpb25Db3VudCcgY29udGVudD0nVXNlckNvbW1lbnRzOjAnPgogICAgICA8bWV0YSBpdGVtcHJvcD0naGVhZGxpbmUnIGNvbnRlbnQ9J0pTT04gc3RydWN0dXJlIC8gaXNzdWVzIChnZW5lcmFsIHRocmVhZCknPgogICAgICA8aHI+CiAgPC9kaXY+CgoKCgoKCiAgICAgICAgPCEtLSA6cHJlbG9hZC1jb250ZW50IC0tPgogICAgICAgIDxmb290ZXI+CiAgICAgICAgICA8bmF2IGl0ZW1zY29wZSBpdGVtdHlwZT0naHR0cDovL3NjaGVtYS5vcmcvU2l0ZU5hdmlnYXRpb25FbGVtZW50Jz4KICAgICAgICAgICAgPGEgaHJlZj0nLyc+SG9tZTwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgIDxhIGhyZWY9Ii9ndWlkZWxpbmVzIj5GQVEvR3VpZGVsaW5lczwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iL3RvcyI+VGVybXMgb2YgU2VydmljZTwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iL3ByaXZhY3kiPlByaXZhY3kgUG9saWN5PC9hPgogICAgICAgICAgPC9uYXY+CiAgICAgICAgPC9mb290ZXI+CiAgICAgIDwvZGl2PgoKICAgICAgPGZvb3RlciBpZD0nbm9zY3JpcHQtZm9vdGVyJz4KICAgICAgICA8cD5Qb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHBzOi8vd3d3LmRpc2NvdXJzZS5vcmciPkRpc2NvdXJzZTwvYT4sIGJlc3Qgdmlld2VkIHdpdGggSmF2YVNjcmlwdCBlbmFibGVkPC9wPgogICAgICA8L2Zvb3Rlcj4KICAgIDwvbm9zY3JpcHQ+CgogICAgICAKICAgICAgCgogICAgPHNlY3Rpb24gaWQ9J21haW4nPgogICAgPC9zZWN0aW9uPgoKICAgIDxkaXYgaWQ9J29mZnNjcmVlbi1jb250ZW50Jz4KICAgIDwvZGl2PgoKCiAgICAgIDxzY3JpcHQ+CiAgICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgcHMgPSByZXF1aXJlKCdwcmVsb2FkLXN0b3JlJykuZGVmYXVsdDsKICAgICAgICAgIHBzLnN0b3JlKCJzaXRlIiwgeyJkZWZhdWx0X2FyY2hldHlwZSI6InJlZ3VsYXIiLCJub3RpZmljYXRpb25fdHlwZXMiOnsibWVudGlvbmVkIjoxLCJyZXBsaWVkIjoyLCJxdW90ZWQiOjMsImVkaXRlZCI6NCwibGlrZWQiOjUsInByaXZhdGVfbWVzc2FnZSI6NiwiaW52aXRlZF90b19wcml2YXRlX21lc3NhZ2UiOjcsImludml0ZWVfYWNjZXB0ZWQiOjgsInBvc3RlZCI6OSwibW92ZWRfcG9zdCI6MTAsImxpbmtlZCI6MTEsImdyYW50ZWRfYmFkZ2UiOjEyLCJpbnZpdGVkX3RvX3RvcGljIjoxMywiY3VzdG9tIjoxNCwiZ3JvdXBfbWVudGlvbmVkIjoxNSwiZ3JvdXBfbWVzc2FnZV9zdW1tYXJ5IjoxNiwid2F0Y2hpbmdfZmlyc3RfcG9zdCI6MTcsInRvcGljX3JlbWluZGVyIjoxOH0sInBvc3RfdHlwZXMiOnsicmVndWxhciI6MSwibW9kZXJhdG9yX2FjdGlvbiI6Miwic21hbGxfYWN0aW9uIjozLCJ3aGlzcGVyIjo0fSwiZ3JvdXBzIjpbeyJpZCI6MSwibmFtZSI6ImFkbWlucyJ9LHsiaWQiOjAsIm5hbWUiOiJldmVyeW9uZSJ9LHsiaWQiOjIsIm5hbWUiOiJtb2RlcmF0b3JzIn0seyJpZCI6MywibmFtZSI6InN0YWZmIn0seyJpZCI6MTAsIm5hbWUiOiJ0cnVzdF9sZXZlbF8wIn0seyJpZCI6MTEsIm5hbWUiOiJ0cnVzdF9sZXZlbF8xIn0seyJpZCI6MTIsIm5hbWUiOiJ0cnVzdF9sZXZlbF8yIn0seyJpZCI6MTMsIm5hbWUiOiJ0cnVzdF9sZXZlbF8zIn0seyJpZCI6MTQsIm5hbWUiOiJ0cnVzdF9sZXZlbF80In1dLCJmaWx0ZXJzIjpbImxhdGVzdCIsInVucmVhZCIsIm5ldyIsInJlYWQiLCJwb3N0ZWQiLCJib29rbWFya3MiLCJ2b3RlcyJdLCJwZXJpb2RzIjpbImFsbCIsInllYXJseSIsInF1YXJ0ZXJseSIsIm1vbnRobHkiLCJ3ZWVrbHkiLCJkYWlseSJdLCJ0b3BfbWVudV9pdGVtcyI6WyJsYXRlc3QiLCJ1bnJlYWQiLCJuZXciLCJyZWFkIiwicG9zdGVkIiwiYm9va21hcmtzIiwiY2F0ZWdvcnkiLCJjYXRlZ29yaWVzIiwidG9wIiwidm90ZXMiXSwiYW5vbnltb3VzX3RvcF9tZW51X2l0ZW1zIjpbImxhdGVzdCIsInRvcCIsImNhdGVnb3JpZXMiLCJjYXRlZ29yeSIsImNhdGVnb3JpZXMiLCJ0b3AiLCJ2b3RlcyJdLCJ1bmNhdGVnb3JpemVkX2NhdGVnb3J5X2lkIjoxLCJpc19yZWFkb25seSI6ZmFsc2UsImRpc2FibGVkX3BsdWdpbnMiOltdLCJ1c2VyX2ZpZWxkX21heF9sZW5ndGgiOjIwNDgsInN1cHByZXNzZWRfZnJvbV9sYXRlc3RfY2F0ZWdvcnlfaWRzIjpbMTJdLCJwb3N0X2FjdGlvbl90eXBlcyI6W3siaWQiOjEsIm5hbWVfa2V5IjoiYm9va21hcmsiLCJuYW1lIjoiQm9va21hcmsiLCJkZXNjcmlwdGlvbiI6IkJvb2ttYXJrIHRoaXMgcG9zdCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiQm9va21hcmsgdGhpcyBwb3N0IiwibG9uZ19mb3JtIjoiYm9va21hcmtlZCB0aGlzIHBvc3QiLCJpc19mbGFnIjpmYWxzZSwiaXNfY3VzdG9tX2ZsYWciOmZhbHNlfSx7ImlkIjoyLCJuYW1lX2tleSI6Imxpa2UiLCJuYW1lIjoiTGlrZSIsImRlc2NyaXB0aW9uIjoiTGlrZSB0aGlzIHBvc3QiLCJzaG9ydF9kZXNjcmlwdGlvbiI6Ikxpa2UgdGhpcyBwb3N0IiwibG9uZ19mb3JtIjoibGlrZWQgdGhpcyIsImlzX2ZsYWciOmZhbHNlLCJpc19jdXN0b21fZmxhZyI6ZmFsc2V9LHsiaWQiOjUsIm5hbWVfa2V5Ijoidm90ZSIsIm5hbWUiOiJWb3RlIiwiZGVzY3JpcHRpb24iOiJWb3RlIGZvciB0aGlzIHBvc3QiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IlZvdGUgZm9yIHRoaXMgcG9zdCIsImxvbmdfZm9ybSI6InZvdGVkIGZvciB0aGlzIHBvc3QiLCJpc19mbGFnIjpmYWxzZSwiaXNfY3VzdG9tX2ZsYWciOmZhbHNlfSx7ImlkIjozLCJuYW1lX2tleSI6Im9mZl90b3BpYyIsIm5hbWUiOiJPZmYtVG9waWMiLCJkZXNjcmlwdGlvbiI6IlRoaXMgcG9zdCBpcyBub3QgcmVsZXZhbnQgdG8gdGhlIGN1cnJlbnQgZGlzY3Vzc2lvbiBhcyBkZWZpbmVkIGJ5IHRoZSB0aXRsZSBhbmQgZmlyc3QgcG9zdCwgYW5kIHNob3VsZCBwcm9iYWJseSBiZSBtb3ZlZCBlbHNld2hlcmUuIiwic2hvcnRfZGVzY3JpcHRpb24iOiJOb3QgcmVsZXZhbnQgdG8gdGhlIGRpc2N1c3Npb24iLCJsb25nX2Zvcm0iOiJmbGFnZ2VkIHRoaXMgYXMgb2ZmLXRvcGljIiwiaXNfZmxhZyI6dHJ1ZSwiaXNfY3VzdG9tX2ZsYWciOmZhbHNlfSx7ImlkIjo0LCJuYW1lX2tleSI6ImluYXBwcm9wcmlhdGUiLCJuYW1lIjoiSW5hcHByb3ByaWF0ZSIsImRlc2NyaXB0aW9uIjoiVGhpcyBwb3N0IGNvbnRhaW5zIGNvbnRlbnQgdGhhdCBhIHJlYXNvbmFibGUgcGVyc29uIHdvdWxkIGNvbnNpZGVyIG9mZmVuc2l2ZSwgYWJ1c2l2ZSwgb3IgYSB2aW9sYXRpb24gb2YgXHUwMDNjYSBocmVmPVwiL2d1aWRlbGluZXNcIlx1MDAzZW91ciBjb21tdW5pdHkgZ3VpZGVsaW5lc1x1MDAzYy9hXHUwMDNlLiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiQSB2aW9sYXRpb24gb2YgXHUwMDNjYSBocmVmPVwiL2d1aWRlbGluZXNcIlx1MDAzZW91ciBjb21tdW5pdHkgZ3VpZGVsaW5lc1x1MDAzYy9hXHUwMDNlIiwibG9uZ19mb3JtIjoiZmxhZ2dlZCB0aGlzIGFzIGluYXBwcm9wcmlhdGUiLCJpc19mbGFnIjp0cnVlLCJpc19jdXN0b21fZmxhZyI6ZmFsc2V9LHsiaWQiOjgsIm5hbWVfa2V5Ijoic3BhbSIsIm5hbWUiOiJTcGFtIiwiZGVzY3JpcHRpb24iOiJUaGlzIHBvc3QgaXMgYW4gYWR2ZXJ0aXNlbWVudCwgb3IgdmFuZGFsaXNtLiBJdCBpcyBub3QgdXNlZnVsIG9yIHJlbGV2YW50IHRvIHRoZSBjdXJyZW50IHRvcGljLiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiVGhpcyBpcyBhbiBhZHZlcnRpc2VtZW50IG9yIHZhbmRhbGlzbSIsImxvbmdfZm9ybSI6ImZsYWdnZWQgdGhpcyBhcyBzcGFtIiwiaXNfZmxhZyI6dHJ1ZSwiaXNfY3VzdG9tX2ZsYWciOmZhbHNlfSx7ImlkIjo2LCJuYW1lX2tleSI6Im5vdGlmeV91c2VyIiwibmFtZSI6IlNlbmQgQHt7dXNlcm5hbWV9fSBhIG1lc3NhZ2UiLCJkZXNjcmlwdGlvbiI6Ikkgd2FudCB0byB0YWxrIHRvIHRoaXMgcGVyc29uIGRpcmVjdGx5IGFuZCBwZXJzb25hbGx5IGFib3V0IHRoZWlyIHBvc3QuIiwic2hvcnRfZGVzY3JpcHRpb24iOiJJIHdhbnQgdG8gdGFsayB0byB0aGlzIHBlcnNvbiBkaXJlY3RseSBhbmQgcGVyc29uYWxseSBhYm91dCB0aGVpciBwb3N0LiIsImxvbmdfZm9ybSI6Im1lc3NhZ2VkIHVzZXIiLCJpc19mbGFnIjp0cnVlLCJpc19jdXN0b21fZmxhZyI6dHJ1ZX0seyJpZCI6NywibmFtZV9rZXkiOiJub3RpZnlfbW9kZXJhdG9ycyIsIm5hbWUiOiJTb21ldGhpbmcgRWxzZSIsImRlc2NyaXB0aW9uIjoiVGhpcyBwb3N0IHJlcXVpcmVzIHN0YWZmIGF0dGVudGlvbiBmb3IgYW5vdGhlciByZWFzb24gbm90IGxpc3RlZCBhYm92ZS4iLCJzaG9ydF9kZXNjcmlwdGlvbiI6IlJlcXVpcmVzIHN0YWZmIGF0dGVudGlvbiBmb3IgYW5vdGhlciByZWFzb24iLCJsb25nX2Zvcm0iOiJmbGFnZ2VkIHRoaXMgZm9yIHN0YWZmIGF0dGVudGlvbiIsImlzX2ZsYWciOnRydWUsImlzX2N1c3RvbV9mbGFnIjp0cnVlfV0sInRvcGljX2ZsYWdfdHlwZXMiOlt7ImlkIjo0LCJuYW1lX2tleSI6ImluYXBwcm9wcmlhdGUiLCJuYW1lIjoiSW5hcHByb3ByaWF0ZSIsImRlc2NyaXB0aW9uIjoiVGhpcyB0b3BpYyBjb250YWlucyBjb250ZW50IHRoYXQgYSByZWFzb25hYmxlIHBlcnNvbiB3b3VsZCBjb25zaWRlciBvZmZlbnNpdmUsIGFidXNpdmUsIG9yIGEgdmlvbGF0aW9uIG9mIFx1MDAzY2EgaHJlZj1cIi9ndWlkZWxpbmVzXCJcdTAwM2VvdXIgY29tbXVuaXR5IGd1aWRlbGluZXNcdTAwM2MvYVx1MDAzZS4iLCJzaG9ydF9kZXNjcmlwdGlvbiI6InRyYW5zbGF0aW9uIG1pc3Npbmc6IGVuLnRvcGljX2ZsYWdfdHlwZXMuaW5hcHByb3ByaWF0ZS5zaG9ydF9kZXNjcmlwdGlvbiIsImxvbmdfZm9ybSI6ImZsYWdnZWQgdGhpcyBhcyBpbmFwcHJvcHJpYXRlIiwiaXNfZmxhZyI6dHJ1ZSwiaXNfY3VzdG9tX2ZsYWciOmZhbHNlfSx7ImlkIjo4LCJuYW1lX2tleSI6InNwYW0iLCJuYW1lIjoiU3BhbSIsImRlc2NyaXB0aW9uIjoiVGhpcyB0b3BpYyBpcyBhbiBhZHZlcnRpc2VtZW50LiBJdCBpcyBub3QgdXNlZnVsIG9yIHJlbGV2YW50IHRvIHRoaXMgc2l0ZSwgYnV0IHByb21vdGlvbmFsIGluIG5hdHVyZS4iLCJzaG9ydF9kZXNjcmlwdGlvbiI6InRyYW5zbGF0aW9uIG1pc3Npbmc6IGVuLnRvcGljX2ZsYWdfdHlwZXMuc3BhbS5zaG9ydF9kZXNjcmlwdGlvbiIsImxvbmdfZm9ybSI6ImZsYWdnZWQgdGhpcyBhcyBzcGFtIiwiaXNfZmxhZyI6dHJ1ZSwiaXNfY3VzdG9tX2ZsYWciOmZhbHNlfSx7ImlkIjo3LCJuYW1lX2tleSI6Im5vdGlmeV9tb2RlcmF0b3JzIiwibmFtZSI6IlNvbWV0aGluZyBFbHNlIiwiZGVzY3JpcHRpb24iOiJUaGlzIHRvcGljIHJlcXVpcmVzIGdlbmVyYWwgc3RhZmYgYXR0ZW50aW9uIGJhc2VkIG9uIHRoZSBcdTAwM2NhIGhyZWY9XCIvZ3VpZGVsaW5lc1wiXHUwMDNlZ3VpZGVsaW5lc1x1MDAzYy9hXHUwMDNlLCBcdTAwM2NhIGhyZWY9XCIvdG9zXCJcdTAwM2VUT1NcdTAwM2MvYVx1MDAzZSwgb3IgZm9yIGFub3RoZXIgcmVhc29uIG5vdCBsaXN0ZWQgYWJvdmUuIiwic2hvcnRfZGVzY3JpcHRpb24iOiJ0cmFuc2xhdGlvbiBtaXNzaW5nOiBlbi50b3BpY19mbGFnX3R5cGVzLm5vdGlmeV9tb2RlcmF0b3JzLnNob3J0X2Rlc2NyaXB0aW9uIiwibG9uZ19mb3JtIjoiZmxhZ2dlZCB0aGlzIGZvciBtb2RlcmF0b3IgYXR0ZW50aW9uIiwiaXNfZmxhZyI6dHJ1ZSwiaXNfY3VzdG9tX2ZsYWciOnRydWV9XSwiY2FuX2NyZWF0ZV90YWciOnRydWUsImNhbl90YWdfdG9waWNzIjp0cnVlLCJjYW5fdGFnX3BtcyI6ZmFsc2UsInRhZ3NfZmlsdGVyX3JlZ2V4cCI6IlsvXFw\/I1xcW1xcXUAhXFwkXHUwMDI2J1xcKFxcKVxcKlxcKyw7PVxcLiVcXFxcYF5cXHN8XFx7XFx9XCJcdTAwM2NcdTAwM2VdKyIsInRvcF90YWdzIjpbInRvdWNoLWJhciIsInRyYWNrcGFkIiwia2V5Ym9hcmQiLCJkZXZlbG9wZXItdG9kbyIsIndpbmRvdy1zbmFwcGluZyIsImNsaXBib2FyZC1tYW5hZ2VyIiwid2Vic2VydmVyIiwibm90LXBvc3NpYmxlIiwicXVlc3Rpb24iLCJhcHBsZXNjcmlwdCIsImh0bWwtb3ZlcmxheSIsIm90aGVyLWRldmljZXMiLCJhY3Rpb24iLCJtb2phdmUiLCJiYXNoIiwiY3Jhc2giLCJkb2NzIiwiZHJhd2luZ3MiLCJmbG9hdGluZy13ZWItdmlldyIsImpzb24iLCJtYWlsIiwicmVxdWVzdCJdLCJ0b3BpY19mZWF0dXJlZF9saW5rX2FsbG93ZWRfY2F0ZWdvcnlfaWRzIjpbMTEsMTIsOSwxLDQsMTMsNyw1LDgsNl0sInVzZXJfdGhlbWVzIjpbeyJ0aGVtZV9rZXkiOiJkY2FlOTRkNC0xZDEzLTRlYzMtYjBkOS05YzBlZTFhZmQxZjciLCJuYW1lIjoiRGFyayIsImRlZmF1bHQiOmZhbHNlfSx7InRoZW1lX2tleSI6ImFhOTYxYmQyLTc0YWYtNDI2OS04ZjY0LWQzN2YzNmZiNDcyZCIsIm5hbWUiOiJEZWZhdWx0IiwiZGVmYXVsdCI6dHJ1ZX1dLCJjZW5zb3JlZF93b3JkcyI6IiIsImNhdGVnb3JpZXMiOlt7ImlkIjoxLCJuYW1lIjoiVW5jYXRlZ29yaXplZCIsImNvbG9yIjoiQUI5MzY0IiwidGV4dF9jb2xvciI6IkZGRkZGRiIsInNsdWciOiJ1bmNhdGVnb3JpemVkIiwidG9waWNfY291bnQiOjAsInBvc3RfY291bnQiOjIsInBvc2l0aW9uIjowLCJkZXNjcmlwdGlvbiI6IlRvcGljcyB0aGF0IGRvbid0IG5lZWQgYSBjYXRlZ29yeSwgb3IgZG9uJ3QgZml0IGludG8gYW55IG90aGVyIGV4aXN0aW5nIGNhdGVnb3J5LiIsImRlc2NyaXB0aW9uX3RleHQiOiIiLCJ0b3BpY191cmwiOiIvdC8iLCJyZWFkX3Jlc3RyaWN0ZWQiOmZhbHNlLCJwZXJtaXNzaW9uIjoxLCJub3RpZmljYXRpb25fbGV2ZWwiOjEsInRvcGljX3RlbXBsYXRlIjpudWxsLCJoYXNfY2hpbGRyZW4iOmZhbHNlLCJzb3J0X29yZGVyIjpudWxsLCJzb3J0X2FzY2VuZGluZyI6bnVsbCwic2hvd19zdWJjYXRlZ29yeV9saXN0IjpmYWxzZSwibnVtX2ZlYXR1cmVkX3RvcGljcyI6MywiZGVmYXVsdF92aWV3IjpudWxsLCJzdWJjYXRlZ29yeV9saXN0X3N0eWxlIjoicm93c193aXRoX2ZlYXR1cmVkX3RvcGljcyIsImRlZmF1bHRfdG9wX3BlcmlvZCI6ImFsbCIsIm1pbmltdW1fcmVxdWlyZWRfdGFncyI6MCwidXBsb2FkZWRfbG9nbyI6bnVsbCwidXBsb2FkZWRfYmFja2dyb3VuZCI6bnVsbH0seyJpZCI6NSwibmFtZSI6IlNldHVwL1ByZXNldCBTaGFyaW5nIiwiY29sb3IiOiIwRTc2QkQiLCJ0ZXh0X2NvbG9yIjoiRkZGRkZGIiwic2x1ZyI6InNldHVwLXByZXNldC1zaGFyaW5nIiwidG9waWNfY291bnQiOjIyLCJwb3N0X2NvdW50Ijo2MywicG9zaXRpb24iOjEsImRlc2NyaXB0aW9uIjoiVGhpcyBjYXRlZ29yeSBpcyB1c2VkIHRvIHNoYXJlIHNldHRpbmdzLCB0aXBzIFx1MDAyNmFtcDsgcHJlc2V0cyBmb3IgQmV0dGVyVG91Y2hUb29sLiIsImRlc2NyaXB0aW9uX3RleHQiOiJUaGlzIGNhdGVnb3J5IGlzIHVzZWQgdG8gc2hhcmUgc2V0dGluZ3MsIHRpcHMgXHUwMDI2IHByZXNldHMgZm9yIEJldHRlclRvdWNoVG9vbC4iLCJ0b3BpY191cmwiOiIvdC9hYm91dC10aGUtc2V0dXAtcHJlc2V0LXNoYXJpbmctY2F0ZWdvcnkvMTIiLCJyZWFkX3Jlc3RyaWN0ZWQiOmZhbHNlLCJwZXJtaXNzaW9uIjoxLCJub3RpZmljYXRpb25fbGV2ZWwiOjEsInRvcGljX3RlbXBsYXRlIjoiKipEZXNjcmlwdGlvbiBvZiB3aGF0IHlvdSBhcmUgc2hhcmluZyoqXG5cbioqU2NyZWVuc2hvdHMgKG9wdGlvbmFsKSoqXG5Zb3UgY2FuIGp1c3QgZHJhZyBvciBwYXN0ZSB5b3VyIHNjcmVlbnNob3RzIGhlcmUuIiwiaGFzX2NoaWxkcmVuIjp0cnVlLCJzb3J0X29yZGVyIjoiIiwic29ydF9hc2NlbmRpbmciOm51bGwsInNob3dfc3ViY2F0ZWdvcnlfbGlzdCI6dHJ1ZSwibnVtX2ZlYXR1cmVkX3RvcGljcyI6MywiZGVmYXVsdF92aWV3IjoiIiwic3ViY2F0ZWdvcnlfbGlzdF9zdHlsZSI6ImJveGVzX3dpdGhfZmVhdHVyZWRfdG9waWNzIiwiZGVmYXVsdF90b3BfcGVyaW9kIjoiYWxsIiwibWluaW11bV9yZXF1aXJlZF90YWdzIjowLCJjYW5fdm90ZSI6dHJ1ZSwidXBsb2FkZWRfbG9nbyI6eyJpZCI6MjQsInVybCI6Ii91cGxvYWRzL2RlZmF1bHQvb3JpZ2luYWwvMVgvODFhMDY3OTVhMjQ5NjQ0NzQ3MWM5YjM1ZjRmOGNhNmM4MjU3ZGRhMC5wbmcifSwidXBsb2FkZWRfYmFja2dyb3VuZCI6bnVsbH0seyJpZCI6OSwibmFtZSI6IkRldmVsb3BlciBWZXJpZmllZCBQcmVzZXRzIiwiY29sb3IiOiIxMkE4OUQiLCJ0ZXh0X2NvbG9yIjoiRkZGRkZGIiwic2x1ZyI6ImRldmVsb3Blci12ZXJpZmllZC1wcmVzZXRzIiwidG9waWNfY291bnQiOjksInBvc3RfY291bnQiOjcwLCJwb3NpdGlvbiI6MiwiZGVzY3JpcHRpb24iOiJCZXR0ZXJUb3VjaFRvb2wgcHJlc2V0cyBjYW4gY29udGFpbiBzY3JpcHRzIGFuZCBvdGhlciBwb3RlbnRpYWxseSBoYXJtZnVsIHRoaW5ncy4gVGhpcyBpcyB3aHkgeW91IHNob3VsZCBvbmx5IGltcG9ydCBCZXR0ZXJUb3VjaFRvb2wgc2V0dGluZ3MgZnJvbSB0cnVzdGVkIHNvdXJjZXMuIEFsbCB1c2VyIHN1Ym1pc3Npb25zIHRoYXQgaGF2ZSBiZWVuIG1vdmVkIHRvIHRoaXMgY2F0ZWdvcnkgaGF2ZSBiZWVuIG1hbnVhbGx5IGNoZWNrZWQgYnkgdGhlIGRldmVsb3BlciBvZiBCZXR0ZXJUb3VjaFRvb2wgYW5kIHdlcmUgY2xhc3NpZmllZCBhcyBcInRydXN0ZWQgXHUwMDI2YW1wOyBzZWN1cmVcIiBieSBoaW0uIFRoZSB2ZXJpZmljYXRpb24gaXMgZG9uZSBvbiBhIFwiYmVzdCBlZmZvcnQgYmFzaXNcIiwgdGhlcmUgaXMgbm8gZ3VhcmFudGVlIG5vdGhpbmcgd2FzIG92ZXJsb29rZWQuIiwiZGVzY3JpcHRpb25fdGV4dCI6IkJldHRlclRvdWNoVG9vbCBwcmVzZXRzIGNhbiBjb250YWluIHNjcmlwdHMgYW5kIG90aGVyIHBvdGVudGlhbGx5IGhhcm1mdWwgdGhpbmdzLiBUaGlzIGlzIHdoeSB5b3Ugc2hvdWxkIG9ubHkgaW1wb3J0IEJldHRlclRvdWNoVG9vbCBzZXR0aW5ncyBmcm9tIHRydXN0ZWQgc291cmNlcy4gQWxsIHVzZXIgc3VibWlzc2lvbnMgdGhhdCBoYXZlIGJlZW4gbW92ZWQgdG8gdGhpcyBjYXRlZ29yeSBoYXZlIGJlZW4gbWFudWFsbHkgY2hlY2tlZCBieSB0aGUgZGV2ZWxvcGVyIG9mIEJldHRlclRvdWNoVG9vbCBhbmQgd2VyZSBjbGFzc2lmaWVkIGFzIFwidHJ1c3RlZCBcdTAwMjYgc2VjdXJlXCIgYnkgaGltLiBUaGUgdmVyaWZpY2F0aW9uIGlzIGRvbmUgb24gYSBcImJlc3QgZWZmb3J0IGJhc2lzXCIsIHRoZXJlIGlzIG5vIGd1YXJhbnRlZSBub3RoaW5nIHdhcyBvdmVybG9va2VkLiIsInRvcGljX3VybCI6Ii90L2Fib3V0LXRoZS1kZXZlbG9wZXItdmVyaWZpZWQtcHJlc2V0cy1jYXRlZ29yeS8xMDEiLCJyZWFkX3Jlc3RyaWN0ZWQiOmZhbHNlLCJwZXJtaXNzaW9uIjpudWxsLCJwYXJlbnRfY2F0ZWdvcnlfaWQiOjUsIm5vdGlmaWNhdGlvbl9sZXZlbCI6MSwidG9waWNfdGVtcGxhdGUiOiIiLCJoYXNfY2hpbGRyZW4iOmZhbHNlLCJzb3J0X29yZGVyIjoiIiwic29ydF9hc2NlbmRpbmciOm51bGwsInNob3dfc3ViY2F0ZWdvcnlfbGlzdCI6ZmFsc2UsIm51bV9mZWF0dXJlZF90b3BpY3MiOjMsImRlZmF1bHRfdmlldyI6IiIsInN1YmNhdGVnb3J5X2xpc3Rfc3R5bGUiOiJyb3dzX3dpdGhfZmVhdHVyZWRfdG9waWNzIiwiZGVmYXVsdF90b3BfcGVyaW9kIjoiYWxsIiwibWluaW11bV9yZXF1aXJlZF90YWdzIjowLCJjYW5fdm90ZSI6dHJ1ZSwidXBsb2FkZWRfbG9nbyI6eyJpZCI6MjMsInVybCI6Ii91cGxvYWRzL2RlZmF1bHQvb3JpZ2luYWwvMVgvMTYzYjE2OTNmYzIwYWRkNmQyYjE1NjkwMmIzNzM2NWU5M2E2MzVlNS5wbmcifSwidXBsb2FkZWRfYmFja2dyb3VuZCI6bnVsbH0seyJpZCI6MTEsIm5hbWUiOiJUdXRvcmlhbHMiLCJjb2xvciI6IjgwODI4MSIsInRleHRfY29sb3IiOiJGRkZGRkYiLCJzbHVnIjoidHV0b3JpYWxzIiwidG9waWNfY291bnQiOjgsInBvc3RfY291bnQiOjExLCJwb3NpdGlvbiI6MywiZGVzY3JpcHRpb24iOiJIZXJlIHlvdSBjYW4gc2hhcmUgbGlua3MgdG8gdHV0b3JpYWxzIHlvdSBsaWtlIG9yIHBvc3QgeW91ciBvd24gQmV0dGVyVG91Y2hUb29sIHR1dG9yaWFscy4iLCJkZXNjcmlwdGlvbl90ZXh0IjoiSGVyZSB5b3UgY2FuIHNoYXJlIGxpbmtzIHRvIHR1dG9yaWFscyB5b3UgbGlrZSBvciBwb3N0IHlvdXIgb3duIEJldHRlclRvdWNoVG9vbCB0dXRvcmlhbHMuIiwidG9waWNfdXJsIjoiL3QvYWJvdXQtdGhlLXR1dG9yaWFscy1jYXRlZ29yeS8xMTAiLCJyZWFkX3Jlc3RyaWN0ZWQiOmZhbHNlLCJwZXJtaXNzaW9uIjoxLCJub3RpZmljYXRpb25fbGV2ZWwiOjEsInRvcGljX3RlbXBsYXRlIjoiIiwiaGFzX2NoaWxkcmVuIjpmYWxzZSwic29ydF9vcmRlciI6IiIsInNvcnRfYXNjZW5kaW5nIjpudWxsLCJzaG93X3N1YmNhdGVnb3J5X2xpc3QiOmZhbHNlLCJudW1fZmVhdHVyZWRfdG9waWNzIjozLCJkZWZhdWx0X3ZpZXciOiIiLCJzdWJjYXRlZ29yeV9saXN0X3N0eWxlIjoicm93c193aXRoX2ZlYXR1cmVkX3RvcGljcyIsImRlZmF1bHRfdG9wX3BlcmlvZCI6ImFsbCIsIm1pbmltdW1fcmVxdWlyZWRfdGFncyI6MCwiY2FuX3ZvdGUiOnRydWUsInVwbG9hZGVkX2xvZ28iOnsiaWQiOjMxLCJ1cmwiOiIvdXBsb2Fkcy9kZWZhdWx0L29yaWdpbmFsLzFYL2QzMzU1MzQ0ZWQzMTE2ZWRjODEwMjMyM2JkZmFmODU5YTI5ZTFhMzYucG5nIn0sInVwbG9hZGVkX2JhY2tncm91bmQiOm51bGx9LHsiaWQiOjcsIm5hbWUiOiJEaXNjdXNzaW9uIFx1MDAyNiBRdWVzdGlvbnMiLCJjb2xvciI6IjNBQjU0QSIsInRleHRfY29sb3IiOiJGRkZGRkYiLCJzbHVnIjoiZGlzY3Vzc2lvbiIsInRvcGljX2NvdW50Ijo2NSwicG9zdF9jb3VudCI6MTU2LCJwb3NpdGlvbiI6NCwiZGVzY3JpcHRpb24iOiJIZXJlIHlvdSBjYW4gZGlzY3VzcyBhbnl0aGluZyB0aGF0IGlzIHJlbW90ZWx5IGNvbm5lY3RlZCB0byBCZXR0ZXJUb3VjaFRvb2wuIEFzayBxdWVzdGlvbnMgZXRjLiIsImRlc2NyaXB0aW9uX3RleHQiOiJIZXJlIHlvdSBjYW4gZGlzY3VzcyBhbnl0aGluZyB0aGF0IGlzIHJlbW90ZWx5IGNvbm5lY3RlZCB0byBCZXR0ZXJUb3VjaFRvb2wuIEFzayBxdWVzdGlvbnMgZXRjLiIsInRvcGljX3VybCI6Ii90L2Fib3V0LXRoZS1kaXNjdXNzaW9uLXF1ZXN0aW9ucy1jYXRlZ29yeS8xNSIsInJlYWRfcmVzdHJpY3RlZCI6ZmFsc2UsInBlcm1pc3Npb24iOjEsIm5vdGlmaWNhdGlvbl9sZXZlbCI6MSwidG9waWNfdGVtcGxhdGUiOiIiLCJoYXNfY2hpbGRyZW4iOmZhbHNlLCJzb3J0X29yZGVyIjoiIiwic29ydF9hc2NlbmRpbmciOm51bGwsInNob3dfc3ViY2F0ZWdvcnlfbGlzdCI6ZmFsc2UsIm51bV9mZWF0dXJlZF90b3BpY3MiOjMsImRlZmF1bHRfdmlldyI6IiIsInN1YmNhdGVnb3J5X2xpc3Rfc3R5bGUiOiJyb3dzX3dpdGhfZmVhdHVyZWRfdG9waWNzIiwiZGVmYXVsdF90b3BfcGVyaW9kIjoiYWxsIiwibWluaW11bV9yZXF1aXJlZF90YWdzIjowLCJ1cGxvYWRlZF9sb2dvIjp7ImlkIjoyNSwidXJsIjoiL3VwbG9hZHMvZGVmYXVsdC9vcmlnaW5hbC8xWC84NWM1YTllYWE5Nzk1MGQ2NWE1OWI1OGNlNjM5MDFjYmU1ZjI2NjUyLnBuZyJ9LCJ1cGxvYWRlZF9iYWNrZ3JvdW5kIjpudWxsfSx7ImlkIjo4LCJuYW1lIjoiRmVhdHVyZSBSZXF1ZXN0cyIsImNvbG9yIjoiRjc5NDFEIiwidGV4dF9jb2xvciI6IkZGRkZGRiIsInNsdWciOiJmZWF0dXJlLXJlcXVlc3RzIiwidG9waWNfY291bnQiOjEwMywicG9zdF9jb3VudCI6MjQ5LCJwb3NpdGlvbiI6NSwiZGVzY3JpcHRpb24iOiJIZXJlIHlvdSBjYW4gcG9zdCBhbnkgRmVhdHVyZSBSZXF1ZXN0IHlvdSBjb21lIHVwIHdpdGguIFBsZWFzZSB1c2UgdGhlIHZvdGluZyBjYXBhYmlsaXRpZXMgdG8gdm90ZSBmb3IgZmVhdHVyZXMgeW91IGxpa2UuIiwiZGVzY3JpcHRpb25fdGV4dCI6IkhlcmUgeW91IGNhbiBwb3N0IGFueSBGZWF0dXJlIFJlcXVlc3QgeW91IGNvbWUgdXAgd2l0aC4gUGxlYXNlIHVzZSB0aGUgdm90aW5nIGNhcGFiaWxpdGllcyB0byB2b3RlIGZvciBmZWF0dXJlcyB5b3UgbGlrZS4iLCJ0b3BpY191cmwiOiIvdC9hYm91dC10aGUtZmVhdHVyZS1yZXF1ZXN0cy1jYXRlZ29yeS8xMDAiLCJyZWFkX3Jlc3RyaWN0ZWQiOmZhbHNlLCJwZXJtaXNzaW9uIjoxLCJub3RpZmljYXRpb25fbGV2ZWwiOjEsInRvcGljX3RlbXBsYXRlIjoiIiwiaGFzX2NoaWxkcmVuIjpmYWxzZSwic29ydF9vcmRlciI6IiIsInNvcnRfYXNjZW5kaW5nIjpudWxsLCJzaG93X3N1YmNhdGVnb3J5X2xpc3QiOmZhbHNlLCJudW1fZmVhdHVyZWRfdG9waWNzIjozLCJkZWZhdWx0X3ZpZXciOiIiLCJzdWJjYXRlZ29yeV9saXN0X3N0eWxlIjoicm93c193aXRoX2ZlYXR1cmVkX3RvcGljcyIsImRlZmF1bHRfdG9wX3BlcmlvZCI6ImFsbCIsIm1pbmltdW1fcmVxdWlyZWRfdGFncyI6MCwiY2FuX3ZvdGUiOnRydWUsInVwbG9hZGVkX2xvZ28iOnsiaWQiOjI2LCJ1cmwiOiIvdXBsb2Fkcy9kZWZhdWx0L29yaWdpbmFsLzFYL2MxYjUxNDYwNGIzZDE3MmNlODgwNGM3MmRmMzMwNmFhYzJmMzI3NzMucG5nIn0sInVwbG9hZGVkX2JhY2tncm91bmQiOm51bGx9LHsiaWQiOjYsIm5hbWUiOiJCdWcgUmVwb3J0cyIsImNvbG9yIjoiQkYxRTJFIiwidGV4dF9jb2xvciI6IkZGRkZGRiIsInNsdWciOiJidWctcmVwb3J0cyIsInRvcGljX2NvdW50Ijo5NCwicG9zdF9jb3VudCI6MzcyLCJwb3NpdGlvbiI6NiwiZGVzY3JpcHRpb24iOiJIZXJlIHlvdSBjYW4gcmVwb3J0IGJ1Z3MgeW91IGVuY291bnRlcmVkIGluIEJldHRlclRvdWNoVG9vbCIsImRlc2NyaXB0aW9uX3RleHQiOiJIZXJlIHlvdSBjYW4gcmVwb3J0IGJ1Z3MgeW91IGVuY291bnRlcmVkIGluIEJldHRlclRvdWNoVG9vbCIsInRvcGljX3VybCI6Ii90L2Fib3V0LXRoZS1idWctcmVwb3J0cy1jYXRlZ29yeS8xNCIsInJlYWRfcmVzdHJpY3RlZCI6ZmFsc2UsInBlcm1pc3Npb24iOjEsIm5vdGlmaWNhdGlvbl9sZXZlbCI6MSwidG9waWNfdGVtcGxhdGUiOiIqKkRlc2NyaWJlIHRoZSBidWcqKlxuQSBjbGVhciBhbmQgY29uY2lzZSBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoZSBidWcgaXMuXG5cbioqQWZmZWN0ZWQgaW5wdXQgZGV2aWNlIChlLmcuIE1hY0Jvb2sgVHJhY2twYWQsIE1hZ2ljIE1vdXNlL1RyYWNrcGFkLCBUb3VjaCBCYXIsIGV0Yy4pOioqXG5cblxuKipTY3JlZW5zaG90cyoqXG5JZiBhcHBsaWNhYmxlLCBhZGQgc2NyZWVuc2hvdHMgdG8gaGVscCBleHBsYWluIHlvdXIgcHJvYmxlbS4gKFlvdSBjYW4ganVzdCBwYXN0ZSBvciBkcmFnIHRoZW0gaGVyZSlcblxuKipEZXZpY2UgaW5mb3JtYXRpb246Kipcbi0gVHlwZSBvZiBNYWM6XG4tIG1hY09TIHZlcnNpb246IFxuLSBCZXR0ZXJUb3VjaFRvb2wgdmVyc2lvbjogXG5cbioqQWRkaXRpb25hbCBpbmZvcm1hdGlvbiAoZS5nLiBTdGFja1RyYWNlcywgcmVsYXRlZCBpc3N1ZXMsIHNjcmVlbnNob3RzLCB3b3JrYXJvdW5kcywgZXRjLik6KipcblxuXG4qKk5vdGU6KiogQmVmb3JlIGJ1ZyByZXBvcnRpbmcsIHBsZWFzZSBtYWtlIHN1cmUgeW91IGhhdmUgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIEJldHRlclRvdWNoVG9vbCBhbmQgdGhhdCB5b3UgaGF2ZSBhbHJlYWR5IHRyaWVkIHRvIHJlc3RhcnQgeW91ciBzeXN0ZW0gOi0pLiBJZiB5b3UgZW5jb3VudGVyIGEgY3Jhc2gsIHBsZWFzZSBhdHRhY2ggYSBjcmFzaCBsb2cgZnJvbSB0aGUgbWFjT1MgQ29uc29sZS5hcHAgZnJvbSB0aGUgXCJVc2VyIERpYWdub3N0aWMgUmVwb3J0c1wiIHNlY3Rpb24uXG4iLCJoYXNfY2hpbGRyZW4iOnRydWUsInNvcnRfb3JkZXIiOiIiLCJzb3J0X2FzY2VuZGluZyI6bnVsbCwic2hvd19zdWJjYXRlZ29yeV9saXN0IjpmYWxzZSwibnVtX2ZlYXR1cmVkX3RvcGljcyI6MywiZGVmYXVsdF92aWV3IjoiIiwic3ViY2F0ZWdvcnlfbGlzdF9zdHlsZSI6InJvd3Nfd2l0aF9mZWF0dXJlZF90b3BpY3MiLCJkZWZhdWx0X3RvcF9wZXJpb2QiOiJhbGwiLCJtaW5pbXVtX3JlcXVpcmVkX3RhZ3MiOjAsImNhbl92b3RlIjp0cnVlLCJ1cGxvYWRlZF9sb2dvIjp7ImlkIjoyNywidXJsIjoiL3VwbG9hZHMvZGVmYXVsdC9vcmlnaW5hbC8xWC9mMDNkM2M2ZmFiMjVkMDZiZTI3ZGFiNzM2YjhkN2Y5MGUxNTNiZWRhLnBuZyJ9LCJ1cGxvYWRlZF9iYWNrZ3JvdW5kIjpudWxsfSx7ImlkIjoxMiwibmFtZSI6IkJsb2cgUG9zdHMiLCJjb2xvciI6IkFCOTM2NCIsInRleHRfY29sb3IiOiJGRkZGRkYiLCJzbHVnIjoiYmxvZy1wb3N0cyIsInRvcGljX2NvdW50Ijo0MzEsInBvc3RfY291bnQiOjQ0MSwicG9zaXRpb24iOjgsImRlc2NyaXB0aW9uIjoiVGhpcyBjYXRlZ29yeSBpcyB1c2VkIGZvciB0aGUgY29tbWVudHMgb24gbXkgYmxvZy4iLCJkZXNjcmlwdGlvbl90ZXh0IjoiVGhpcyBjYXRlZ29yeSBpcyB1c2VkIGZvciB0aGUgY29tbWVudHMgb24gbXkgYmxvZy4iLCJ0b3BpY191cmwiOiIvdC9hYm91dC10aGUtYmxvZy1wb3N0cy1jYXRlZ29yeS8xMTIiLCJyZWFkX3Jlc3RyaWN0ZWQiOmZhbHNlLCJwZXJtaXNzaW9uIjpudWxsLCJub3RpZmljYXRpb25fbGV2ZWwiOjEsInRvcGljX3RlbXBsYXRlIjoiIiwiaGFzX2NoaWxkcmVuIjpmYWxzZSwic29ydF9vcmRlciI6IiIsInNvcnRfYXNjZW5kaW5nIjpudWxsLCJzaG93X3N1YmNhdGVnb3J5X2xpc3QiOmZhbHNlLCJudW1fZmVhdHVyZWRfdG9waWNzIjozLCJkZWZhdWx0X3ZpZXciOiIiLCJzdWJjYXRlZ29yeV9saXN0X3N0eWxlIjoicm93c193aXRoX2ZlYXR1cmVkX3RvcGljcyIsImRlZmF1bHRfdG9wX3BlcmlvZCI6ImFsbCIsIm1pbmltdW1fcmVxdWlyZWRfdGFncyI6MCwidXBsb2FkZWRfbG9nbyI6bnVsbCwidXBsb2FkZWRfYmFja2dyb3VuZCI6bnVsbH0seyJpZCI6MTMsIm5hbWUiOiJBcmNoaXZlZC9DbG9zZWQgQnVncmVwb3J0cyIsImNvbG9yIjoiRjE1OTJBIiwidGV4dF9jb2xvciI6IkZGRkZGRiIsInNsdWciOiJhcmNoaXZlZC1jbG9zZWQtYnVncmVwb3J0cyIsInRvcGljX2NvdW50IjoyLCJwb3N0X2NvdW50Ijo5LCJwb3NpdGlvbiI6OSwiZGVzY3JpcHRpb24iOm51bGwsImRlc2NyaXB0aW9uX3RleHQiOm51bGwsInRvcGljX3VybCI6Ii90L2Fib3V0LXRoZS1hcmNoaXZlZC1jbG9zZWQtYnVncmVwb3J0cy1jYXRlZ29yeS8xMDM0IiwicmVhZF9yZXN0cmljdGVkIjpmYWxzZSwicGVybWlzc2lvbiI6bnVsbCwicGFyZW50X2NhdGVnb3J5X2lkIjo2LCJub3RpZmljYXRpb25fbGV2ZWwiOjEsInRvcGljX3RlbXBsYXRlIjoiIiwiaGFzX2NoaWxkcmVuIjpmYWxzZSwic29ydF9vcmRlciI6IiIsInNvcnRfYXNjZW5kaW5nIjpudWxsLCJzaG93X3N1YmNhdGVnb3J5X2xpc3QiOmZhbHNlLCJudW1fZmVhdHVyZWRfdG9waWNzIjozLCJkZWZhdWx0X3ZpZXciOiIiLCJzdWJjYXRlZ29yeV9saXN0X3N0eWxlIjoicm93c193aXRoX2ZlYXR1cmVkX3RvcGljcyIsImRlZmF1bHRfdG9wX3BlcmlvZCI6ImFsbCIsIm1pbmltdW1fcmVxdWlyZWRfdGFncyI6MCwidXBsb2FkZWRfbG9nbyI6bnVsbCwidXBsb2FkZWRfYmFja2dyb3VuZCI6bnVsbH1dLCJ0cnVzdF9sZXZlbHMiOlt7ImlkIjowLCJuYW1lIjoibmV3IHVzZXIifSx7ImlkIjoxLCJuYW1lIjoiYmFzaWMgdXNlciJ9LHsiaWQiOjIsIm5hbWUiOiJtZW1iZXIifSx7ImlkIjozLCJuYW1lIjoicmVndWxhciJ9LHsiaWQiOjQsIm5hbWUiOiJsZWFkZXIifV0sImFyY2hldHlwZXMiOlt7ImlkIjoicmVndWxhciIsIm5hbWUiOiJSZWd1bGFyIFRvcGljIiwib3B0aW9ucyI6W119LHsiaWQiOiJiYW5uZXIiLCJuYW1lIjoiQmFubmVyIFRvcGljIiwib3B0aW9ucyI6W119XSwidXNlcl9maWVsZHMiOltdfSk7CiAgICAgICAgICBwcy5zdG9yZSgic2l0ZVNldHRpbmdzIiwgeyJkZWZhdWx0X2xvY2FsZSI6ImVuIiwidGl0bGUiOiJCZXR0ZXJUb3VjaFRvb2wgQ29tbXVuaXR5IiwiY29udGFjdF9lbWFpbCI6ImFuZHJlYXNAZm9saXZvcmEuYWkiLCJjb250YWN0X3VybCI6Imh0dHBzOi8vZm9saXZvcmEuYWkvaW1wcmludCIsImxvZ29fdXJsIjoiaHR0cHM6Ly9mb2xpdm9yYS5haS9mb2xpdm9yYS9zdGF0aWMvbWVkaWEvYnR0aWNvbi5jYzBiZjhiYy5wbmciLCJsb2dvX3NtYWxsX3VybCI6Ii9pbWFnZXMvZC1sb2dvLXNrZXRjaC1zbWFsbC5wbmciLCJtb2JpbGVfbG9nb191cmwiOiIiLCJmYXZpY29uX3VybCI6Imh0dHBzOi8vZm9saXZvcmEuYWkvZm9saXZvcmEvZmF2aWNvbi5pY28iLCJhbGxvd191c2VyX2xvY2FsZSI6ZmFsc2UsInN1cHBvcnRfbWl4ZWRfdGV4dF9kaXJlY3Rpb24iOmZhbHNlLCJzdWdnZXN0ZWRfdG9waWNzIjo1LCJ0cmFja19leHRlcm5hbF9yaWdodF9jbGlja3MiOmZhbHNlLCJnYV91bml2ZXJzYWxfdHJhY2tpbmdfY29kZSI6IiIsImdhX3VuaXZlcnNhbF9kb21haW5fbmFtZSI6ImF1dG8iLCJndG1fY29udGFpbmVyX2lkIjoiIiwidG9wX21lbnUiOiJjYXRlZ29yaWVzfGxhdGVzdHxuZXd8dW5yZWFkfHRvcCIsInBvc3RfbWVudSI6Imxpa2UtY291bnR8bGlrZXxzaGFyZXxmbGFnfGVkaXR8Ym9va21hcmt8ZGVsZXRlfHJlcGx5IiwicG9zdF9tZW51X2hpZGRlbl9pdGVtcyI6ImZsYWd8Ym9va21hcmt8ZGVsZXRlfGFkbWluIiwic2hhcmVfbGlua3MiOiJ0d2l0dGVyfGZhY2Vib29rfGVtYWlsIiwiZGVza3RvcF9jYXRlZ29yeV9wYWdlX3N0eWxlIjoiY2F0ZWdvcmllc193aXRoX2ZlYXR1cmVkX3RvcGljcyIsImNhdGVnb3J5X2NvbG9ycyI6IkJGMUUyRXxGMTU5MkF8Rjc5NDFEfDlFQjgzQnwzQUI1NEF8MTJBODlEfDI1QUFFMnwwRTc2QkR8NjUyRDkwfDkyMjc4RnxFRDIwN0J8OEM2MjM4fDIzMUYyMHw4MDgyODF8QjNCNUI0fDI4Mzg5MCIsImNhdGVnb3J5X3N0eWxlIjoiYnVsbGV0IiwiZW5hYmxlX21vYmlsZV90aGVtZSI6dHJ1ZSwicmVsYXRpdmVfZGF0ZV9kdXJhdGlvbiI6MzAsImZpeGVkX2NhdGVnb3J5X3Bvc2l0aW9ucyI6dHJ1ZSwiZml4ZWRfY2F0ZWdvcnlfcG9zaXRpb25zX29uX2NyZWF0ZSI6ZmFsc2UsImVuYWJsZV9iYWRnZXMiOnRydWUsImVuYWJsZV9iYWRnZV9zcWwiOmZhbHNlLCJlbmFibGVfd2hpc3BlcnMiOmZhbHNlLCJwdXNoX25vdGlmaWNhdGlvbnNfcHJvbXB0IjpmYWxzZSwidmFwaWRfcHVibGljX2tleV9ieXRlcyI6IjR8MjMzfDE0MHw3MXwxMzF8MTU5fDM4fDkzfDkwfDY5fDg2fDU4fDEyMXwxMDh8MTQ2fDExOXwyMzB8OXwxOXwyMTl8MjE3fDIyNHwxODJ8MTcyfDUyfDExNnwyMzB8NjB8MTQ1fDU2fDE3fDE4NHwyMHwxNjl8MTQyfDIxMnwyMDR8MjJ8Mzh8MjQ3fDEyfDI0MHw1fDM2fDEzMnw3NnwzMXw3N3wyMTl8Njd8MTh8NzV8MTAxfDE5NnwxNDF8NTZ8OTF8MTYyfDIyMXwyMDd8MTI2fDk2fDM5fDIxM3wxMzYiLCJpbnZpdGVfb25seSI6ZmFsc2UsImxvZ2luX3JlcXVpcmVkIjpmYWxzZSwibXVzdF9hcHByb3ZlX3VzZXJzIjpmYWxzZSwiZW5hYmxlX2xvY2FsX2xvZ2lucyI6dHJ1ZSwiZW5hYmxlX2xvY2FsX2xvZ2luc192aWFfZW1haWwiOnRydWUsImFsbG93X25ld19yZWdpc3RyYXRpb25zIjp0cnVlLCJlbmFibGVfc2lnbnVwX2N0YSI6dHJ1ZSwiZW5hYmxlX2dvb2dsZV9vYXV0aDJfbG9naW5zIjp0cnVlLCJlbmFibGVfeWFob29fbG9naW5zIjpmYWxzZSwiZW5hYmxlX3R3aXR0ZXJfbG9naW5zIjp0cnVlLCJlbmFibGVfaW5zdGFncmFtX2xvZ2lucyI6ZmFsc2UsImVuYWJsZV9mYWNlYm9va19sb2dpbnMiOnRydWUsImVuYWJsZV9naXRodWJfbG9naW5zIjp0cnVlLCJlbmFibGVfc3NvIjpmYWxzZSwic3NvX292ZXJyaWRlc19hdmF0YXIiOmZhbHNlLCJtaW5fdXNlcm5hbWVfbGVuZ3RoIjozLCJtYXhfdXNlcm5hbWVfbGVuZ3RoIjoyMCwibWluX3Bhc3N3b3JkX2xlbmd0aCI6OCwibWluX2FkbWluX3Bhc3N3b3JkX2xlbmd0aCI6MTUsImxvZ291dF9yZWRpcmVjdCI6IiIsImZ1bGxfbmFtZV9yZXF1aXJlZCI6ZmFsc2UsImVuYWJsZV9uYW1lcyI6dHJ1ZSwiaW52aXRlc19wZXJfcGFnZSI6NDAsImRlbGV0ZV91c2VyX21heF9wb3N0X2FnZSI6NjAsImRlbGV0ZV9hbGxfcG9zdHNfbWF4IjoxNSwic2hvd19lbWFpbF9vbl9wcm9maWxlIjpmYWxzZSwicHJpb3JpdGl6ZV91c2VybmFtZV9pbl91eCI6dHJ1ZSwiZW5hYmxlX3VzZXJfZGlyZWN0b3J5Ijp0cnVlLCJhbGxvd19hbm9ueW1vdXNfcG9zdGluZyI6ZmFsc2UsImFub255bW91c19wb3N0aW5nX21pbl90cnVzdF9sZXZlbCI6MSwiaGlkZV91c2VyX3Byb2ZpbGVzX2Zyb21fcHVibGljIjpmYWxzZSwiaGlkZV9zdXNwZW5zaW9uX3JlYXNvbnMiOmZhbHNlLCJlbmFibGVfZ3JvdXBfZGlyZWN0b3J5IjpmYWxzZSwibWluX3Bvc3RfbGVuZ3RoIjoyMCwibWluX2ZpcnN0X3Bvc3RfbGVuZ3RoIjoyMCwibWluX3BlcnNvbmFsX21lc3NhZ2VfcG9zdF9sZW5ndGgiOjEwLCJtYXhfcG9zdF9sZW5ndGgiOjk5MDAwLCJ0b3BpY19mZWF0dXJlZF9saW5rX2VuYWJsZWQiOnRydWUsIm1pbl90b3BpY190aXRsZV9sZW5ndGgiOjE1LCJtYXhfdG9waWNfdGl0bGVfbGVuZ3RoIjoyNTUsIm1pbl9wZXJzb25hbF9tZXNzYWdlX3RpdGxlX2xlbmd0aCI6MiwiYWxsb3dfdW5jYXRlZ29yaXplZF90b3BpY3MiOmZhbHNlLCJtaW5fdGl0bGVfc2ltaWxhcl9sZW5ndGgiOjEwLCJlbmFibGVfcGVyc29uYWxfbWVzc2FnZXMiOnRydWUsImVuYWJsZV9wZXJzb25hbF9lbWFpbF9tZXNzYWdlcyI6ZmFsc2UsImVkaXRfaGlzdG9yeV92aXNpYmxlX3RvX3B1YmxpYyI6dHJ1ZSwiZGVsZXRlX3JlbW92ZWRfcG9zdHNfYWZ0ZXIiOjI0LCJ0cmFkaXRpb25hbF9tYXJrZG93bl9saW5lYnJlYWtzIjpmYWxzZSwiZW5hYmxlX21hcmtkb3duX3R5cG9ncmFwaGVyIjpmYWxzZSwiZW5hYmxlX21hcmtkb3duX2xpbmtpZnkiOnRydWUsIm1hcmtkb3duX2xpbmtpZnlfdGxkcyI6ImNvbXxuZXR8b3JnfGlvfGNvfHR2fHJ1fGNufHVzfHVrfG1lfGRlfGZyfGZpfGdvdnxhaSIsImVuYWJsZV9yaWNoX3RleHRfcGFzdGUiOmZhbHNlLCJzdXBwcmVzc19yZXBseV9kaXJlY3RseV9iZWxvdyI6dHJ1ZSwic3VwcHJlc3NfcmVwbHlfZGlyZWN0bHlfYWJvdmUiOnRydWUsIm1heF9yZXBseV9oaXN0b3J5IjoxLCJlbmFibGVfbWVudGlvbnMiOnRydWUsIm5ld3VzZXJfbWF4X2ltYWdlcyI6MSwibmV3dXNlcl9tYXhfYXR0YWNobWVudHMiOjAsInNob3dfcGlubmVkX2V4Y2VycHRfbW9iaWxlIjp0cnVlLCJzaG93X3Bpbm5lZF9leGNlcnB0X2Rlc2t0b3AiOnRydWUsImRpc3BsYXlfbmFtZV9vbl9wb3N0cyI6ZmFsc2UsInNob3dfdGltZV9nYXBfZGF5cyI6Nywic2hvcnRfcHJvZ3Jlc3NfdGV4dF90aHJlc2hvbGQiOjEwMDAwLCJkZWZhdWx0X2NvZGVfbGFuZyI6ImF1dG8iLCJhdXRvaGlnaGxpZ2h0X2FsbF9jb2RlIjp0cnVlLCJoaWdobGlnaHRlZF9sYW5ndWFnZXMiOiJhcGFjaGV8YmFzaHxjc3xjcHB8Y3NzfGNvZmZlZXNjcmlwdHxkaWZmfHhtbHxodHRwfGluaXxqc29ufGphdmF8amF2YXNjcmlwdHxtYWtlZmlsZXxtYXJrZG93bnxuZ2lueHxvYmplY3RpdmVjfHJ1Ynl8cGVybHxwaHB8cHl0aG9ufHNxbHxoYW5kbGViYXJzIiwiZW5hYmxlX2Vtb2ppIjp0cnVlLCJlbmFibGVfZW1vamlfc2hvcnRjdXRzIjp0cnVlLCJlbW9qaV9zZXQiOiJhcHBsZSIsImNvZGVfZm9ybWF0dGluZ19zdHlsZSI6IjQtc3BhY2VzLWluZGVudCIsImFsbG93ZWRfaHJlZl9zY2hlbWVzIjoiYnR0Iiwid2F0Y2hlZF93b3Jkc19yZWd1bGFyX2V4cHJlc3Npb25zIjpmYWxzZSwiZW5hYmxlX2FkdmFuY2VkX2VkaXRvcl9wcmV2aWV3X3N5bmMiOmZhbHNlLCJlbWFpbF90aW1lX3dpbmRvd19taW5zIjoxMCwiZGlzYWJsZV9kaWdlc3RfZW1haWxzIjpmYWxzZSwiZW1haWxfaW4iOmZhbHNlLCJkaXNhYmxlX2VtYWlscyI6Im5vIiwiYm91bmNlX3Njb3JlX3RocmVzaG9sZCI6NCwibWF4X2ltYWdlX3NpemVfa2IiOjQwMDAsIm1heF9hdHRhY2htZW50X3NpemVfa2IiOjUwMDAwLCJhdXRob3JpemVkX2V4dGVuc2lvbnMiOiJqcGd8anBlZ3xwbmd8Z2lmfGpzb258Z3p8emlwfGNyYXNofGJ0dHByZXNldHxidHRwcmVzZXRjb21wcmVzc2VkfGJ0dGNvbXByZXNzZWRwcmVzZXQiLCJhdXRob3JpemVkX2V4dGVuc2lvbnNfZm9yX3N0YWZmIjoiIiwibWF4X2ltYWdlX3dpZHRoIjo2OTAsIm1heF9pbWFnZV9oZWlnaHQiOjUwMCwicHJldmVudF9hbm9uc19mcm9tX2Rvd25sb2FkaW5nX2ZpbGVzIjpmYWxzZSwiZW5hYmxlX3MzX3VwbG9hZHMiOmZhbHNlLCJhbGxvd19wcm9maWxlX2JhY2tncm91bmRzIjp0cnVlLCJhbGxvd191cGxvYWRlZF9hdmF0YXJzIjp0cnVlLCJhbGxvd19hbmltYXRlZF9hdmF0YXJzIjpmYWxzZSwiZGVmYXVsdF9hdmF0YXJzIjoiIiwiZXh0ZXJuYWxfc3lzdGVtX2F2YXRhcnNfZW5hYmxlZCI6dHJ1ZSwiZXh0ZXJuYWxfc3lzdGVtX2F2YXRhcnNfdXJsIjoiL2xldHRlcl9hdmF0YXJfcHJveHkvdjIvbGV0dGVyL3tmaXJzdF9sZXR0ZXJ9L3tjb2xvcn0ve3NpemV9LnBuZyIsImFsbG93X3N0YWZmX3RvX3VwbG9hZF9hbnlfZmlsZV9pbl9wbSI6dHJ1ZSwidGwxX3JlcXVpcmVzX3JlYWRfcG9zdHMiOjMwLCJ0bDNfbGlua3Nfbm9fZm9sbG93IjpmYWxzZSwidXNlX2FkbWluX2lwX3doaXRlbGlzdCI6ZmFsc2UsImFsbG93ZWRfaWZyYW1lcyI6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9lbWJlZD98aHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvZXhwb3J0L2VtYmVkLmh0bWw\/fGh0dHBzOi8vY2FsZW5kYXIuZ29vZ2xlLmNvbS9jYWxlbmRhci9lbWJlZD98aHR0cHM6Ly9jb2RlcGVuLmlvLyIsIm1heF9vbmVib3hlc19wZXJfcG9zdCI6NTAsImZsYWdzX2RlZmF1bHRfdG9waWNzIjpmYWxzZSwiYWxlcnRfYWRtaW5zX2lmX2Vycm9yc19wZXJfbWludXRlIjowLCJhbGVydF9hZG1pbnNfaWZfZXJyb3JzX3Blcl9ob3VyIjowLCJtYXhfcHJpbnRzX3Blcl9ob3VyX3Blcl91c2VyIjo1LCJlbmFibGVfbG9uZ19wb2xsaW5nIjp0cnVlLCJsb25nX3BvbGxpbmdfYmFzZV91cmwiOiIvIiwiYmFja2dyb3VuZF9wb2xsaW5nX2ludGVydmFsIjo2MDAwMCwicG9sbGluZ19pbnRlcnZhbCI6MzAwMCwiYW5vbl9wb2xsaW5nX2ludGVydmFsIjoxNTAwMCwiZmx1c2hfdGltaW5nc19zZWNzIjoyMCwidmVyYm9zZV9sb2NhbGl6YXRpb24iOmZhbHNlLCJtYXhfbmV3X3RvcGljcyI6NTAwLCJlbmFibGVfc2FmZV9tb2RlIjp0cnVlLCJ0b3NfdXJsIjoiIiwicHJpdmFjeV9wb2xpY3lfdXJsIjoiaHR0cHM6Ly9mb2xpdm9yYS5haS9wcml2YWN5IiwiZmFxX3VybCI6IiIsImVuYWJsZV9iYWNrdXBzIjp0cnVlLCJtYXhpbXVtX2JhY2t1cHMiOjUsIm1pbl9zZWFyY2hfdGVybV9sZW5ndGgiOjMsImxvZ19zZWFyY2hfcXVlcmllcyI6ZmFsc2UsInZlcnNpb25fY2hlY2tzIjp0cnVlLCJzdXBwcmVzc191bmNhdGVnb3JpemVkX2JhZGdlIjp0cnVlLCJ0b3BpY192aWV3c19oZWF0X2xvdyI6MTAwMCwidG9waWNfdmlld3NfaGVhdF9tZWRpdW0iOjIwMDAsInRvcGljX3ZpZXdzX2hlYXRfaGlnaCI6NTAwMCwidG9waWNfcG9zdF9saWtlX2hlYXRfbG93IjowLjUsInRvcGljX3Bvc3RfbGlrZV9oZWF0X21lZGl1bSI6MS4wLCJ0b3BpY19wb3N0X2xpa2VfaGVhdF9oaWdoIjoyLjAsImhpc3RvcnlfaG91cnNfbG93IjoxMiwiaGlzdG9yeV9ob3Vyc19tZWRpdW0iOjI0LCJoaXN0b3J5X2hvdXJzX2hpZ2giOjQ4LCJjb2xkX2FnZV9kYXlzX2xvdyI6MTQsImNvbGRfYWdlX2RheXNfbWVkaXVtIjo5MCwiY29sZF9hZ2VfZGF5c19oaWdoIjoxODAsImdsb2JhbF9ub3RpY2UiOiIiLCJzaG93X2NyZWF0ZV90b3BpY3Nfbm90aWNlIjp0cnVlLCJib290c3RyYXBfbW9kZV9taW5fdXNlcnMiOjAsImJvb3RzdHJhcF9tb2RlX2VuYWJsZWQiOmZhbHNlLCJhdXRvbWF0aWNhbGx5X3VucGluX3RvcGljcyI6dHJ1ZSwicmVhZF90aW1lX3dvcmRfY291bnQiOjUwMCwidG9waWNfcGFnZV90aXRsZV9pbmNsdWRlc19jYXRlZ29yeSI6dHJ1ZSwiZGlzYWJsZV9tYWlsaW5nX2xpc3RfbW9kZSI6ZmFsc2UsImRlZmF1bHRfdG9waWNzX2F1dG9tYXRpY191bnBpbiI6dHJ1ZSwidGFnZ2luZ19lbmFibGVkIjp0cnVlLCJ0YWdfc3R5bGUiOiJidWxsZXQiLCJtYXhfdGFnc19wZXJfdG9waWMiOjUsIm1heF90YWdfbGVuZ3RoIjoyMCwibWluX3RydXN0X2xldmVsX3RvX3RhZ190b3BpY3MiOjAsIm1heF90YWdfc2VhcmNoX3Jlc3VsdHMiOjUsInNob3dfZmlsdGVyX2J5X3RhZyI6dHJ1ZSwidGFnc19zb3J0X2FscGhhYmV0aWNhbGx5IjpmYWxzZSwidGFnc19saXN0ZWRfYnlfZ3JvdXAiOmZhbHNlLCJzdXBwcmVzc19vdmVybGFwcGluZ190YWdzX2luX2xpc3QiOmZhbHNlLCJ2b3RpbmdfZW5hYmxlZCI6dHJ1ZSwidm90aW5nX3Nob3dfd2hvX3ZvdGVkIjp0cnVlLCJ2b3Rpbmdfc2hvd192b3Rlc19vbl9wcm9maWxlIjp0cnVlLCJwcmVzZW5jZV9lbmFibGVkIjp0cnVlLCJwb2xsX2VuYWJsZWQiOnRydWUsInBvbGxfbWF4aW11bV9vcHRpb25zIjoyMCwicG9sbF9taW5pbXVtX3RydXN0X2xldmVsX3RvX2NyZWF0ZSI6MSwiZGlzY291cnNlX2xvY2FsX2RhdGVzX2VuYWJsZWQiOnRydWUsImRpc2NvdXJzZV9sb2NhbF9kYXRlc19kZWZhdWx0X2Zvcm1hdHMiOiJMTEx8TFRTfExMfExMTEwiLCJkaXNjb3Vyc2VfbG9jYWxfZGF0ZXNfZGVmYXVsdF90aW1lem9uZXMiOiJFdXJvcGUvUGFyaXN8QW1lcmljYS9Mb3NfQW5nZWxlcyIsImRldGFpbHNfZW5hYmxlZCI6dHJ1ZSwiZGlzY291cnNlX25hcnJhdGl2ZV9ib3RfZW5hYmxlZCI6dHJ1ZSwic29sdmVkX2VuYWJsZWQiOnRydWUsImFsbG93X3NvbHZlZF9vbl9hbGxfdG9waWNzIjpmYWxzZSwiYWNjZXB0X2FsbF9zb2x1dGlvbnNfdHJ1c3RfbGV2ZWwiOjQsImVtcHR5X2JveF9vbl91bnNvbHZlZCI6ZmFsc2UsImF2YWlsYWJsZV9sb2NhbGVzIjoiW3tcIm5hbWVcIjpcItin2YTZhNi62Kkg2KfZhNi52LHYqNmK2KlcIixcInZhbHVlXCI6XCJhclwifSx7XCJuYW1lXCI6XCLQsdGK0LvQs9Cw0YDRgdC60Lgg0LXQt9C40LpcIixcInZhbHVlXCI6XCJiZ1wifSx7XCJuYW1lXCI6XCJib3NhbnNraSBqZXppa1wiLFwidmFsdWVcIjpcImJzX0JBXCJ9LHtcIm5hbWVcIjpcImNhdGFsw6BcIixcInZhbHVlXCI6XCJjYVwifSx7XCJuYW1lXCI6XCLEjWXFoXRpbmFcIixcInZhbHVlXCI6XCJjc1wifSx7XCJuYW1lXCI6XCJkYW5za1wiLFwidmFsdWVcIjpcImRhXCJ9LHtcIm5hbWVcIjpcIkRldXRzY2hcIixcInZhbHVlXCI6XCJkZVwifSx7XCJuYW1lXCI6XCLOtc67zrvOt869zrnOus6sXCIsXCJ2YWx1ZVwiOlwiZWxcIn0se1wibmFtZVwiOlwiRW5nbGlzaFwiLFwidmFsdWVcIjpcImVuXCJ9LHtcIm5hbWVcIjpcIkVzcGHDsW9sXCIsXCJ2YWx1ZVwiOlwiZXNcIn0se1wibmFtZVwiOlwiZWVzdGlcIixcInZhbHVlXCI6XCJldFwifSx7XCJuYW1lXCI6XCLZgdin2LHYs9uMXCIsXCJ2YWx1ZVwiOlwiZmFfSVJcIn0se1wibmFtZVwiOlwic3VvbWlcIixcInZhbHVlXCI6XCJmaVwifSx7XCJuYW1lXCI6XCJGcmFuw6dhaXNcIixcInZhbHVlXCI6XCJmclwifSx7XCJuYW1lXCI6XCJnYWxlZ29cIixcInZhbHVlXCI6XCJnbFwifSx7XCJuYW1lXCI6XCLXoteR16jXmdeqXCIsXCJ2YWx1ZVwiOlwiaGVcIn0se1wibmFtZVwiOlwiSW5kb25lc2lhblwiLFwidmFsdWVcIjpcImlkXCJ9LHtcIm5hbWVcIjpcIkl0YWxpYW5vXCIsXCJ2YWx1ZVwiOlwiaXRcIn0se1wibmFtZVwiOlwi5pel5pys6KqeXCIsXCJ2YWx1ZVwiOlwiamFcIn0se1wibmFtZVwiOlwi7ZWc6rWt7Ja0XCIsXCJ2YWx1ZVwiOlwia29cIn0se1wibmFtZVwiOlwibGF0dmllxaF1IHZhbG9kYVwiLFwidmFsdWVcIjpcImx2XCJ9LHtcIm5hbWVcIjpcIk5vcnNrIGJva23DpWxcIixcInZhbHVlXCI6XCJuYl9OT1wifSx7XCJuYW1lXCI6XCJOZWRlcmxhbmRzXCIsXCJ2YWx1ZVwiOlwibmxcIn0se1wibmFtZVwiOlwiasSZenlrIHBvbHNraVwiLFwidmFsdWVcIjpcInBsX1BMXCJ9LHtcIm5hbWVcIjpcIlBvcnR1Z3XDqnNcIixcInZhbHVlXCI6XCJwdFwifSx7XCJuYW1lXCI6XCJQb3J0dWd1w6pzIChCUilcIixcInZhbHVlXCI6XCJwdF9CUlwifSx7XCJuYW1lXCI6XCJsaW1iYSByb23Dom7Eg1wiLFwidmFsdWVcIjpcInJvXCJ9LHtcIm5hbWVcIjpcItCg0YPRgdGB0LrQuNC5XCIsXCJ2YWx1ZVwiOlwicnVcIn0se1wibmFtZVwiOlwic2xvdmVuxI1pbmFcIixcInZhbHVlXCI6XCJza1wifSx7XCJuYW1lXCI6XCJzbG92ZW7FocSNaW5hXCIsXCJ2YWx1ZVwiOlwic2xcIn0se1wibmFtZVwiOlwiU2hxaXBcIixcInZhbHVlXCI6XCJzcVwifSx7XCJuYW1lXCI6XCLRgdGA0L\/RgdC60Lgg0ZjQtdC30LjQulwiLFwidmFsdWVcIjpcInNyXCJ9LHtcIm5hbWVcIjpcInN2ZW5za2FcIixcInZhbHVlXCI6XCJzdlwifSx7XCJuYW1lXCI6XCLgsKTgsYbgsLLgsYHgsJfgsYFcIixcInZhbHVlXCI6XCJ0ZVwifSx7XCJuYW1lXCI6XCLguYTguJfguKJcIixcInZhbHVlXCI6XCJ0aFwifSx7XCJuYW1lXCI6XCJUw7xya8OnZVwiLFwidmFsdWVcIjpcInRyX1RSXCJ9LHtcIm5hbWVcIjpcItGD0LrRgNCw0ZfQvdGB0YzQutCwINC80L7QstCwXCIsXCJ2YWx1ZVwiOlwidWtcIn0se1wibmFtZVwiOlwi2KfYsdiv2YhcIixcInZhbHVlXCI6XCJ1clwifSx7XCJuYW1lXCI6XCJWaeG7h3QgTmFtXCIsXCJ2YWx1ZVwiOlwidmlcIn0se1wibmFtZVwiOlwi5Lit5paHXCIsXCJ2YWx1ZVwiOlwiemhfQ05cIn0se1wibmFtZVwiOlwi5Lit5paHIChUVylcIixcInZhbHVlXCI6XCJ6aF9UV1wifV0ifSk7CiAgICAgICAgICBwcy5zdG9yZSgidGhlbWVTZXR0aW5ncyIsIHt9KTsKICAgICAgICAgIHBzLnN0b3JlKCJjdXN0b21IVE1MIiwgeyJ0b3AiOiIiLCJmb290ZXIiOiI8ZGl2IHN0eWxlPVwiICAgIHdpZHRoOiAxMDAlO3RleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6d2hpdGUgIWltcG9ydGFudFwiPlxuPGEgaHJlZj1cImh0dHBzOi8vZm9saXZvcmEuYWkvaW1wcmludFwiIHN0eWxlPVwiY29sb3I6d2hpdGVcIj5JbXByaW50PFwvYT4gfCA8YSBzdHlsZT1cImNvbG9yOndoaXRlXCIgaHJlZj1cImh0dHBzOi8vY29tbXVuaXR5LmZvbGl2b3JhLmFpL3ByaXZhY3lcIj5Qcml2YWN5IFBvbGljeTxcL2E+XG48XC9kaXY+In0pOwogICAgICAgICAgcHMuc3RvcmUoImJhbm5lciIsIHt9KTsKICAgICAgICAgIHBzLnN0b3JlKCJjdXN0b21FbW9qaSIsIFtdKTsKICAgICAgICAgIHBzLnN0b3JlKCJ0cmFuc2xhdGlvbk92ZXJyaWRlcyIsIHt9KTsKICAgICAgICAgIHBzLnN0b3JlKCJjdXJyZW50VXNlciIsIHsiaWQiOjgsInVzZXJuYW1lIjoiV29yaWUiLCJhdmF0YXJfdGVtcGxhdGUiOiIvdXNlcl9hdmF0YXIvY29tbXVuaXR5LmZvbGl2b3JhLmFpL3dvcmllL3tzaXplfS8zNV8xLnBuZyIsIm5hbWUiOiJXb2pjaWVjaCBQb8WCb3duaWFrIiwidW5yZWFkX25vdGlmaWNhdGlvbnMiOjAsInVucmVhZF9wcml2YXRlX21lc3NhZ2VzIjowLCJyZWFkX2ZpcnN0X25vdGlmaWNhdGlvbiI6dHJ1ZSwiYWRtaW4iOmZhbHNlLCJub3RpZmljYXRpb25fY2hhbm5lbF9wb3NpdGlvbiI6MjI4LCJtb2RlcmF0b3IiOmZhbHNlLCJzdGFmZiI6ZmFsc2UsInRpdGxlIjpudWxsLCJyZXBseV9jb3VudCI6MTAsInRvcGljX2NvdW50IjoyMiwiZW5hYmxlX3F1b3RpbmciOnRydWUsImV4dGVybmFsX2xpbmtzX2luX25ld190YWIiOmZhbHNlLCJkeW5hbWljX2Zhdmljb24iOmZhbHNlLCJ0cnVzdF9sZXZlbCI6MiwiY2FuX3NlbmRfcHJpdmF0ZV9lbWFpbF9tZXNzYWdlcyI6ZmFsc2UsImNhbl9lZGl0Ijp0cnVlLCJjYW5faW52aXRlX3RvX2ZvcnVtIjp0cnVlLCJzaG91bGRfYmVfcmVkaXJlY3RlZF90b190b3AiOmZhbHNlLCJkaXNhYmxlX2p1bXBfcmVwbHkiOmZhbHNlLCJjdXN0b21fZmllbGRzIjp7fSwibXV0ZWRfY2F0ZWdvcnlfaWRzIjpbXSwiZGlzbWlzc2VkX2Jhbm5lcl9rZXkiOm51bGwsImlzX2Fub255bW91cyI6ZmFsc2UsInJlYWRfZmFxIjpmYWxzZSwiYXV0b21hdGljYWxseV91bnBpbl90b3BpY3MiOnRydWUsIm1haWxpbmdfbGlzdF9tb2RlIjpmYWxzZSwicHJldmlvdXNfdmlzaXRfYXQiOiIyMDE4LTA2LTE5VDIyOjA4OjM5Ljk3OVoiLCJzZWVuX25vdGlmaWNhdGlvbl9pZCI6MjA5OSwiY2FuX2NyZWF0ZV90b3BpYyI6dHJ1ZSwibGlua19wb3N0aW5nX2FjY2VzcyI6ImZ1bGwiLCJ2b3Rlc19leGNlZWRlZCI6ZmFsc2UsInZvdGVfY291bnQiOjN9KTsKICAgICAgICAgIHBzLnN0b3JlKCJ0b3BpY1RyYWNraW5nU3RhdGVzIiwgW3sidG9waWNfaWQiOjE4MjYsImhpZ2hlc3RfcG9zdF9udW1iZXIiOjEsImxhc3RfcmVhZF9wb3N0X251bWJlciI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMThUMjE6MzM6NDMuNjQwWiIsImNhdGVnb3J5X2lkIjo2LCJub3RpZmljYXRpb25fbGV2ZWwiOm51bGx9LHsidG9waWNfaWQiOjE4MjgsImhpZ2hlc3RfcG9zdF9udW1iZXIiOjEsImxhc3RfcmVhZF9wb3N0X251bWJlciI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMThUMjM6MTQ6MTUuNjczWiIsImNhdGVnb3J5X2lkIjo3LCJub3RpZmljYXRpb25fbGV2ZWwiOm51bGx9LHsidG9waWNfaWQiOjE4NDMsImhpZ2hlc3RfcG9zdF9udW1iZXIiOjIsImxhc3RfcmVhZF9wb3N0X251bWJlciI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMTlUMjM6MDA6NTYuOTA5WiIsImNhdGVnb3J5X2lkIjo2LCJub3RpZmljYXRpb25fbGV2ZWwiOm51bGx9LHsidG9waWNfaWQiOjE4NDUsImhpZ2hlc3RfcG9zdF9udW1iZXIiOjEsImxhc3RfcmVhZF9wb3N0X251bWJlciI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMTlUMjM6MTA6NDIuNDI4WiIsImNhdGVnb3J5X2lkIjo4LCJub3RpZmljYXRpb25fbGV2ZWwiOm51bGx9LHsidG9waWNfaWQiOjE4NDYsImhpZ2hlc3RfcG9zdF9udW1iZXIiOjEsImxhc3RfcmVhZF9wb3N0X251bWJlciI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMTlUMjM6MTk6MDMuMjU2WiIsImNhdGVnb3J5X2lkIjo4LCJub3RpZmljYXRpb25fbGV2ZWwiOm51bGx9LHsidG9waWNfaWQiOjE4NDcsImhpZ2hlc3RfcG9zdF9udW1iZXIiOjIsImxhc3RfcmVhZF9wb3N0X251bWJlciI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMjBUMDA6MzM6MDUuNjY1WiIsImNhdGVnb3J5X2lkIjo4LCJub3RpZmljYXRpb25fbGV2ZWwiOm51bGx9LHsidG9waWNfaWQiOjE4NDksImhpZ2hlc3RfcG9zdF9udW1iZXIiOjEsImxhc3RfcmVhZF9wb3N0X251bWJlciI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMjBUMDE6Mjg6MTIuMDMyWiIsImNhdGVnb3J5X2lkIjo2LCJub3RpZmljYXRpb25fbGV2ZWwiOm51bGx9LHsidG9waWNfaWQiOjE4NTAsImhpZ2hlc3RfcG9zdF9udW1iZXIiOjIsImxhc3RfcmVhZF9wb3N0X251bWJlciI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMjBUMDE6MzA6MzIuMDUyWiIsImNhdGVnb3J5X2lkIjo4LCJub3RpZmljYXRpb25fbGV2ZWwiOm51bGx9LHsidG9waWNfaWQiOjE4NTYsImhpZ2hlc3RfcG9zdF9udW1iZXIiOjMsImxhc3RfcmVhZF9wb3N0X251bWJlciI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMjBUMDg6MDA6MDUuNTY5WiIsImNhdGVnb3J5X2lkIjo2LCJub3RpZmljYXRpb25fbGV2ZWwiOm51bGx9LHsidG9waWNfaWQiOjE4NjAsImhpZ2hlc3RfcG9zdF9udW1iZXIiOjcsImxhc3RfcmVhZF9wb3N0X251bWJlciI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMjBUMTA6NTQ6NDguMTE2WiIsImNhdGVnb3J5X2lkIjo3LCJub3RpZmljYXRpb25fbGV2ZWwiOm51bGx9LHsidG9waWNfaWQiOjE4NjIsImhpZ2hlc3RfcG9zdF9udW1iZXIiOjEsImxhc3RfcmVhZF9wb3N0X251bWJlciI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMjBUMTI6NDg6MTIuNDk2WiIsImNhdGVnb3J5X2lkIjo3LCJub3RpZmljYXRpb25fbGV2ZWwiOm51bGx9XSk7CiAgICAgICAgICBwcy5zdG9yZSgidG9waWNfMTgzNiIsIHsicG9zdF9zdHJlYW0iOnsicG9zdHMiOlt7ImlkIjoyODMxLCJuYW1lIjoiV29qY2llY2ggUG\/Fgm93bmlhayIsInVzZXJuYW1lIjoiV29yaWUiLCJhdmF0YXJfdGVtcGxhdGUiOiIvdXNlcl9hdmF0YXIvY29tbXVuaXR5LmZvbGl2b3JhLmFpL3dvcmllL3tzaXplfS8zNV8xLnBuZyIsImNyZWF0ZWRfYXQiOiIyMDE4LTA2LTE5VDEyOjAyOjQ5LjIxOVoiLCJjb29rZWQiOiJcdTAwM2NwXHUwMDNlSGksIEkndmUgZGVjaWRlZCB0aGF0IHBlcmhhcHMgaXQnZCBiZSBlYXNpZXIgdG8gdHJhY2sgdGhvc2Ugc21hbGwgbGl0dGxlIGlzc3VlcyB0aGF0IEkgcmVwb3J0IGZyb20gdGltZSB0byB0aW1lIHdoZW4gaXQgY29tZXMgdG8gSlNPTiBpbiBvbmUgdGhyZWFkIC0gaWYgeW91IGRlY2lkZSB0aGF0IEkgc2hvdWxkbid0IGRvIHRoYXQgYW5kIGV2ZXJ5dGhpbmcgc2hvdWxkIGJlIGluIGl0cyBzZXBhcmF0ZSB0aHJlYWQsIEknbGwgY3JlYXRlIG1vcmUgdG9waWNzIGJ1dCB0aGF0IHNlZW1zIGxpa2UgYW4gb3ZlcmtpbGwuXHUwMDNjL3BcdTAwM2Vcblx1MDAzY3BcdTAwM2VBY3Rpb24gc2hvd0Zsb2F0aW5nSFRNTE1lbnUgaGFzIGEgSlNPTiB3aGljaCBoYXMgZm9sbG93aW5nIHByb3BlcnR5OiBcdTAwM2Njb2RlXHUwMDNlXCJCVFRBY3Rpb25XZWJWaWV3U2l6ZVwiXHUwMDNjL2NvZGVcdTAwM2UgLSBpdFx1MDAzY2JyXHUwMDNlXG5zZWVtcyB0byByZXByZXNlbnQgdGhpcyBwYXJ0IG9mIHRoZSBjb25maWcgXHUwMDNjYSBocmVmPVwiaHR0cHM6Ly9pLmltZ3VyLmNvbS9OaG5DRVZtLnBuZ1wiIHJlbD1cIm5vZm9sbG93IG5vb3BlbmVyXCJcdTAwM2VodHRwczovL2kuaW1ndXIuY29tL05obkNFVm0ucG5nXHUwMDNjL2FcdTAwM2VcdTAwM2MvcFx1MDAzZVxuXHUwMDNjcFx1MDAzZUknbSBjdXJpb3VzIHdoZXRoZXIgdGhhdCdzIHNvbWV0aGluZyB0aGF0IHdhcyBvdmVybG9va2VkLCBvciBhIGJ1ZyB0aGF0IHlvdSBjYW4gbm8gbG9uZ2VyIGNoYW5nZSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHk\/IEkgd291bGQgbGlrZSB0byBrbm93IGlmIGl0cyBzdGFibGUgdG8gdXNlIFx1MDAzY2NvZGVcdTAwM2VCVFRBY3Rpb25XZWJWaWV3U2l6ZVx1MDAzYy9jb2RlXHUwMDNlIGZvciBzZXR0aW5nIHRoaXMgbmFtZSAoSSBkb24ndCBrbm93IHdoYXQgaXQgaXMgdXNlZCBmb3IsIHRvdWdoKVx1MDAzYy9wXHUwMDNlXG5cdTAwM2NwXHUwMDNlSSdtIGN1cnJlbnRseSBvbiBsYXRlc3QgYWxwaGEgLSAyLjUyM1x1MDAzYy9wXHUwMDNlIiwicG9zdF9udW1iZXIiOjEsInBvc3RfdHlwZSI6MSwidXBkYXRlZF9hdCI6IjIwMTgtMDYtMTlUMTI6MDI6NDkuMjE5WiIsInJlcGx5X2NvdW50IjowLCJyZXBseV90b19wb3N0X251bWJlciI6bnVsbCwicXVvdGVfY291bnQiOjAsImF2Z190aW1lIjo0OSwiaW5jb21pbmdfbGlua19jb3VudCI6MCwicmVhZHMiOjYsInNjb3JlIjozLjY1LCJ5b3VycyI6dHJ1ZSwidG9waWNfaWQiOjE4MzYsInRvcGljX3NsdWciOiJqc29uLXN0cnVjdHVyZS1pc3N1ZXMtZ2VuZXJhbC10aHJlYWQiLCJkaXNwbGF5X3VzZXJuYW1lIjoiV29qY2llY2ggUG\/Fgm93bmlhayIsInByaW1hcnlfZ3JvdXBfbmFtZSI6bnVsbCwicHJpbWFyeV9ncm91cF9mbGFpcl91cmwiOm51bGwsInByaW1hcnlfZ3JvdXBfZmxhaXJfYmdfY29sb3IiOm51bGwsInByaW1hcnlfZ3JvdXBfZmxhaXJfY29sb3IiOm51bGwsInZlcnNpb24iOjEsImNhbl9lZGl0Ijp0cnVlLCJjYW5fZGVsZXRlIjpmYWxzZSwiY2FuX3JlY292ZXIiOmZhbHNlLCJjYW5fd2lraSI6ZmFsc2UsImxpbmtfY291bnRzIjpbeyJ1cmwiOiJodHRwczovL2kuaW1ndXIuY29tL05obkNFVm0ucG5nIiwiaW50ZXJuYWwiOmZhbHNlLCJyZWZsZWN0aW9uIjpmYWxzZSwidGl0bGUiOiJOaG5DRVZtLnBuZyIsImNsaWNrcyI6MX1dLCJyZWFkIjp0cnVlLCJ1c2VyX3RpdGxlIjpudWxsLCJhY3Rpb25zX3N1bW1hcnkiOlt7ImlkIjo1LCJoaWRkZW4iOnRydWUsImNhbl9hY3QiOnRydWV9LHsiaWQiOjMsImNhbl9hY3QiOnRydWV9LHsiaWQiOjQsImNhbl9hY3QiOnRydWV9LHsiaWQiOjgsImNhbl9hY3QiOnRydWV9LHsiaWQiOjcsImNhbl9hY3QiOnRydWV9XSwibW9kZXJhdG9yIjpmYWxzZSwiYWRtaW4iOmZhbHNlLCJzdGFmZiI6ZmFsc2UsInVzZXJfaWQiOjgsImhpZGRlbiI6ZmFsc2UsInRydXN0X2xldmVsIjoyLCJkZWxldGVkX2F0IjpudWxsLCJ1c2VyX2RlbGV0ZWQiOmZhbHNlLCJlZGl0X3JlYXNvbiI6bnVsbCwiY2FuX3ZpZXdfZWRpdF9oaXN0b3J5Ijp0cnVlLCJ3aWtpIjpmYWxzZSwiY2FuX2FjY2VwdF9hbnN3ZXIiOmZhbHNlLCJjYW5fdW5hY2NlcHRfYW5zd2VyIjpmYWxzZSwiYWNjZXB0ZWRfYW5zd2VyIjpmYWxzZSwiY2FuX3ZvdGUiOnRydWV9LHsiaWQiOjI4MzMsIm5hbWUiOiJBbmRyZWFzIEhlZ2VuYmVyZyIsInVzZXJuYW1lIjoiQW5kcmVhc19IZWdlbmJlcmciLCJhdmF0YXJfdGVtcGxhdGUiOiIvdXNlcl9hdmF0YXIvY29tbXVuaXR5LmZvbGl2b3JhLmFpL2FuZHJlYXNfaGVnZW5iZXJnL3tzaXplfS8xN18xLnBuZyIsImNyZWF0ZWRfYXQiOiIyMDE4LTA2LTE5VDEyOjEyOjI3LjMzOVoiLCJjb29rZWQiOiJcdTAwM2NwXHUwMDNlR29vZCBpZGVhIVx1MDAzYy9wXHUwMDNlXG5cdTAwM2NwXHUwMDNlVGhpcyBsb29rcyBsaWtlIGEgYnVnLiBIb3dldmVyIGl0J3Mgc2FmZSB0byBhc3N1bWUgdGhhdCB0aGlzIHN0cmluZyB3aWxsIGNvbnRpbnVlIHRvIHdvcmsgaW4gZnV0dXJlIHZlcnNpb25zIGZvciBpbXBvcnRpbmcuIFdpdGggdGhlIG5leHQgdXBkYXRlIGl0IHdpbGwgYmUgcmVuYW1lZCB0byBCVFRBY3Rpb25GbG9hdGluZ0hUTUxOYW1lIGJ1dCB3aWxsIHN0aWxsIGJlIGFibGUgdG8gaW1wb3J0IGl0IGNvcnJlY3RseSB3aXRoIHRoZSBcImJ1ZyBpZGVudGlmaWVyXCIuXHUwMDNjL3BcdTAwM2UiLCJwb3N0X251bWJlciI6MiwicG9zdF90eXBlIjoxLCJ1cGRhdGVkX2F0IjoiMjAxOC0wNi0xOVQxMjoxODozNS43ODVaIiwicmVwbHlfY291bnQiOjAsInJlcGx5X3RvX3Bvc3RfbnVtYmVyIjpudWxsLCJxdW90ZV9jb3VudCI6MCwiYXZnX3RpbWUiOjUxLCJpbmNvbWluZ19saW5rX2NvdW50IjowLCJyZWFkcyI6Niwic2NvcmUiOjE4Ljc1LCJ5b3VycyI6ZmFsc2UsInRvcGljX2lkIjoxODM2LCJ0b3BpY19zbHVnIjoianNvbi1zdHJ1Y3R1cmUtaXNzdWVzLWdlbmVyYWwtdGhyZWFkIiwiZGlzcGxheV91c2VybmFtZSI6IkFuZHJlYXMgSGVnZW5iZXJnIiwicHJpbWFyeV9ncm91cF9uYW1lIjpudWxsLCJwcmltYXJ5X2dyb3VwX2ZsYWlyX3VybCI6bnVsbCwicHJpbWFyeV9ncm91cF9mbGFpcl9iZ19jb2xvciI6bnVsbCwicHJpbWFyeV9ncm91cF9mbGFpcl9jb2xvciI6bnVsbCwidmVyc2lvbiI6MiwiY2FuX2VkaXQiOmZhbHNlLCJjYW5fZGVsZXRlIjpmYWxzZSwiY2FuX3JlY292ZXIiOmZhbHNlLCJjYW5fd2lraSI6ZmFsc2UsInJlYWQiOnRydWUsInVzZXJfdGl0bGUiOiIiLCJhY3Rpb25zX3N1bW1hcnkiOlt7ImlkIjoyLCJjb3VudCI6MSwiYWN0ZWQiOnRydWV9LHsiaWQiOjUsImhpZGRlbiI6dHJ1ZSwiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6MywiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6NCwiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6OCwiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6NiwiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6NywiY2FuX2FjdCI6dHJ1ZX1dLCJtb2RlcmF0b3IiOmZhbHNlLCJhZG1pbiI6dHJ1ZSwic3RhZmYiOnRydWUsInVzZXJfaWQiOjEsImhpZGRlbiI6ZmFsc2UsInRydXN0X2xldmVsIjo0LCJkZWxldGVkX2F0IjpudWxsLCJ1c2VyX2RlbGV0ZWQiOmZhbHNlLCJlZGl0X3JlYXNvbiI6bnVsbCwiY2FuX3ZpZXdfZWRpdF9oaXN0b3J5Ijp0cnVlLCJ3aWtpIjpmYWxzZSwiY2FuX2FjY2VwdF9hbnN3ZXIiOnRydWUsImNhbl91bmFjY2VwdF9hbnN3ZXIiOmZhbHNlLCJhY2NlcHRlZF9hbnN3ZXIiOmZhbHNlfSx7ImlkIjoyODM5LCJuYW1lIjoiV29qY2llY2ggUG\/Fgm93bmlhayIsInVzZXJuYW1lIjoiV29yaWUiLCJhdmF0YXJfdGVtcGxhdGUiOiIvdXNlcl9hdmF0YXIvY29tbXVuaXR5LmZvbGl2b3JhLmFpL3dvcmllL3tzaXplfS8zNV8xLnBuZyIsImNyZWF0ZWRfYXQiOiIyMDE4LTA2LTE5VDE0OjIzOjQ2LjE2M1oiLCJjb29rZWQiOiJcdTAwM2NwXHUwMDNlVGhhbmtzLCBhd2Vzb21lLiBJJ2xsIHVzZSB0aGUgXHUwMDNjY29kZVx1MDAzZUJUVEFjdGlvbkZsb2F0aW5nSFRNTE5hbWVcdTAwM2MvY29kZVx1MDAzZSBhcyBzb29uIGFzIGl0cyBhdmFpbGFibGUhXHUwMDNjL3BcdTAwM2Vcblx1MDAzY3BcdTAwM2VJJ3ZlIGVuY291bnRlcmVkIGFub3RoZXIgaXNzdWUgLSBkbyB5b3UgdGhpbmsgdGhpcyB1cmwgc2hvdWxkIHdvcms\/XHUwMDNjYnJcdTAwM2Vcblx1MDAzY2NvZGVcdTAwM2VodHRwOi8vMTI3LjAuMC4xOjY0NDcyL3RyaWdnZXJfYWN0aW9uLz9qc29uPXtcIkJUVFByZWRlZmluZWRBY3Rpb25UeXBlXCI6MjQ5LFwiQlRUQWN0aW9uRmxvYXRpbmdIVE1MQ29uZmlnXCI6XCJ7XFxcIkJUVENsb3NlT25PdXRzaWRlQ2xpY2tcXFwiOmZhbHNlLFxcXCJCVFRVc2VXaGl0ZUJhY2tncm91bmRcXFwiOmZhbHNlLFxcXCJCVFRDbG9zZU9uQnJvd3Nlck9wZW5cXFwiOmZhbHNlLFxcXCJCVFRTaG93QnV0dG9uc1xcXCI6ZmFsc2UsXFxcIkJUVERvTm90Q2FjaGVcXFwiOmZhbHNlLFxcXCJCVFRTaXplXFxcIjpcXFwiezIwMCwlMjAyMDB9XFxcIn1cIixcIkJUVEVuYWJsZWQyXCI6MSxcIkJUVEVuYWJsZWRcIjoxLFwiQlRUQWN0aW9uVVJMVG9Mb2FkXCI6XCJodHRwOi8vZ29vZ2xlLnBsXCJ9XHUwMDI2YW1wO3NoYXJlZF9rZXk9c0JQMmZZQW8yRnU4VGRmemhMcHdkVW1cdTAwM2MvY29kZVx1MDAzZVx1MDAzYy9wXHUwMDNlXG5cdTAwM2NwXHUwMDNlVGhpcyBpcyB0aGUgSlNPTiB0aGF0IEknbSB0cnlpbmcgdG8gc2VuZDpcdTAwM2MvcFx1MDAzZVxuXHUwMDNjcHJlXHUwMDNlXHUwMDNjY29kZSBjbGFzcz1cImxhbmctYXV0b1wiXHUwMDNle1xuICAgXCJCVFRQcmVkZWZpbmVkQWN0aW9uVHlwZVwiOjI0OSxcbiAgIFwiQlRUQWN0aW9uRmxvYXRpbmdIVE1MQ29uZmlnXCI6XCJ7XFxcIkJUVENsb3NlT25PdXRzaWRlQ2xpY2tcXFwiOmZhbHNlLFxcXCJCVFRVc2VXaGl0ZUJhY2tncm91bmRcXFwiOmZhbHNlLFxcXCJCVFRDbG9zZU9uQnJvd3Nlck9wZW5cXFwiOmZhbHNlLFxcXCJCVFRTaG93QnV0dG9uc1xcXCI6ZmFsc2UsXFxcIkJUVERvTm90Q2FjaGVcXFwiOmZhbHNlLFxcXCJCVFRTaXplXFxcIjpcXFwiezIwMCwlMjAyMDB9XFxcIn1cIixcbiAgIFwiQlRURW5hYmxlZDJcIjoxLFxuICAgXCJCVFRFbmFibGVkXCI6MSxcbiAgIFwiQlRUQWN0aW9uVVJMVG9Mb2FkXCI6XCJodHRwOi8vZ29vZ2xlLnBsXCJcbn1cblx1MDAzYy9jb2RlXHUwMDNlXHUwMDNjL3ByZVx1MDAzZVxuXHUwMDNjcFx1MDAzZUknbSB0cnlpbmcgdG8gc2hvdyBmbG9hdGluZyB3ZWIgdmlldyBmcm9tIHdlYnNlcnZlciAtIHdpdGggdGhpcyB1cmwgLyBwYXlsb2FkLCBCVFQgY3Jhc2hlcyBhbmQgcmVzdGFydHMuIElmIHRoZXJlJ3MgYW55IHdheSBpbiB3aGljaCBJJ2QgYmUgYWJsZSB0byBwcm92aWRlIGxvZ3MgZm9yIHlvdSBvciBhbnl0aGluZywgcGxlYXNlIGxldCBtZSBrbm93LiBTZWVtcyB0byBiZSBoYXBwZW5pbmcgaWYgSSBwYXNzIFx1MDAzY2NvZGVcdTAwM2VCVFRBY3Rpb25XZWJWaWV3U2l6ZVx1MDAzYy9jb2RlXHUwMDNlLCB0b28uIEFyZSB0aGVyZSBhbnkgb3RoZXIgbWFuZGF0b3J5IGZpZWxkcyB0aGF0IEkgbXVzdCBmaWxsP1x1MDAzYy9wXHUwMDNlXG5cdTAwM2NwXHUwMDNlQW5kIG9uZSBvdGhlciB0aGluZyAtIGkgdGhpbmsgaXQnZCBiZSBncmVhdCBpZiB0aGVyZSB3YXMgYW4gb3B0aW9uIHRvIHNldCB0aGUgcG9zaXRpb24gb2YgdGhlIGZsb2F0aW5nIHdpbmRvdyBieSBtYW5pcHVsYXRpbmcgdGhlIGpzb24uXHUwMDNjL3BcdTAwM2UiLCJwb3N0X251bWJlciI6MywicG9zdF90eXBlIjoxLCJ1cGRhdGVkX2F0IjoiMjAxOC0wNi0yMFQxNDoxMTozMi4yODRaIiwicmVwbHlfY291bnQiOjEsInJlcGx5X3RvX3Bvc3RfbnVtYmVyIjpudWxsLCJxdW90ZV9jb3VudCI6MCwiYXZnX3RpbWUiOjQwLCJpbmNvbWluZ19saW5rX2NvdW50IjowLCJyZWFkcyI6Niwic2NvcmUiOjguMiwieW91cnMiOnRydWUsInRvcGljX2lkIjoxODM2LCJ0b3BpY19zbHVnIjoianNvbi1zdHJ1Y3R1cmUtaXNzdWVzLWdlbmVyYWwtdGhyZWFkIiwiZGlzcGxheV91c2VybmFtZSI6IldvamNpZWNoIFBvxYJvd25pYWsiLCJwcmltYXJ5X2dyb3VwX25hbWUiOm51bGwsInByaW1hcnlfZ3JvdXBfZmxhaXJfdXJsIjpudWxsLCJwcmltYXJ5X2dyb3VwX2ZsYWlyX2JnX2NvbG9yIjpudWxsLCJwcmltYXJ5X2dyb3VwX2ZsYWlyX2NvbG9yIjpudWxsLCJ2ZXJzaW9uIjoyLCJjYW5fZWRpdCI6dHJ1ZSwiY2FuX2RlbGV0ZSI6dHJ1ZSwiY2FuX3JlY292ZXIiOmZhbHNlLCJjYW5fd2lraSI6ZmFsc2UsInJlYWQiOnRydWUsInVzZXJfdGl0bGUiOm51bGwsImFjdGlvbnNfc3VtbWFyeSI6W3siaWQiOjUsImhpZGRlbiI6dHJ1ZSwiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6MywiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6NCwiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6OCwiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6NywiY2FuX2FjdCI6dHJ1ZX1dLCJtb2RlcmF0b3IiOmZhbHNlLCJhZG1pbiI6ZmFsc2UsInN0YWZmIjpmYWxzZSwidXNlcl9pZCI6OCwiaGlkZGVuIjpmYWxzZSwidHJ1c3RfbGV2ZWwiOjIsImRlbGV0ZWRfYXQiOm51bGwsInVzZXJfZGVsZXRlZCI6ZmFsc2UsImVkaXRfcmVhc29uIjpudWxsLCJjYW5fdmlld19lZGl0X2hpc3RvcnkiOnRydWUsIndpa2kiOmZhbHNlLCJjYW5fYWNjZXB0X2Fuc3dlciI6dHJ1ZSwiY2FuX3VuYWNjZXB0X2Fuc3dlciI6ZmFsc2UsImFjY2VwdGVkX2Fuc3dlciI6ZmFsc2V9LHsiaWQiOjI4ODAsIm5hbWUiOiJBbmRyZWFzIEhlZ2VuYmVyZyIsInVzZXJuYW1lIjoiQW5kcmVhc19IZWdlbmJlcmciLCJhdmF0YXJfdGVtcGxhdGUiOiIvdXNlcl9hdmF0YXIvY29tbXVuaXR5LmZvbGl2b3JhLmFpL2FuZHJlYXNfaGVnZW5iZXJnL3tzaXplfS8xN18xLnBuZyIsImNyZWF0ZWRfYXQiOiIyMDE4LTA2LTIwVDE0OjIzOjI5LjM3NVoiLCJjb29rZWQiOiJcdTAwM2NwXHUwMDNlQWggdGhlIGZsb2F0aW5nIHdlYnZpZXcgaXMgc3BlY2lhbCBiZWNhdXNlIGl0IHJlcXVpcmVzIGEgdW5pcXVlIElEIHRvIHdvcmsgY29ycmVjdGx5LiBJIGhhZG4ndCBhZGRlZCB0aGF0IHRvIHRoZSBqc29uIGJlZm9yZS5cdTAwM2MvcFx1MDAzZVxuXHUwMDNjcFx1MDAzZUluIHRoZSBsYXRlc3QgYWxwaGEgKDIuNTI0KSBpdCBzaG91bGRuJ3QgY3Jhc2ggYW55bW9yZSBhbmQgaWYgeW91IGFkZCBhIFxc4oCdQlRUVVVJRFwiOlwiXHUwMDNjc3Ryb25nXHUwMDNlU09NRUlEXHUwMDNjL3N0cm9uZ1x1MDAzZVwiIGl0IHNob3VsZCBhbHNvIGJlaGF2ZSBjb3JyZWN0bHkuXHUwMDNjYnJcdTAwM2VcbkkgYWxzbyBhZGRlZCBCVFRQb3NpdGlvbiB3aGljaCBzaG91bGQgbG9vayBsaWtlIHRoZSBCVFRTaXplIGNvbmZpZy4gSXQgc2hvdWxkIGFsbG93IHRvIHBsYWNlIGl0IGFueXdoZXJlIG9uIHlvdXIgc2NyZWVuLCBob3dldmVyIEkgaGF2ZSBub3QgeWV0IHRlc3RlZCBpdC5cdTAwM2MvcFx1MDAzZSIsInBvc3RfbnVtYmVyIjo0LCJwb3N0X3R5cGUiOjEsInVwZGF0ZWRfYXQiOiIyMDE4LTA2LTIwVDE0OjIzOjU3LjU2MVoiLCJyZXBseV9jb3VudCI6MSwicmVwbHlfdG9fcG9zdF9udW1iZXIiOjMsInF1b3RlX2NvdW50IjowLCJhdmdfdGltZSI6bnVsbCwiaW5jb21pbmdfbGlua19jb3VudCI6MCwicmVhZHMiOjIsInNjb3JlIjo1LjQsInlvdXJzIjpmYWxzZSwidG9waWNfaWQiOjE4MzYsInRvcGljX3NsdWciOiJqc29uLXN0cnVjdHVyZS1pc3N1ZXMtZ2VuZXJhbC10aHJlYWQiLCJkaXNwbGF5X3VzZXJuYW1lIjoiQW5kcmVhcyBIZWdlbmJlcmciLCJwcmltYXJ5X2dyb3VwX25hbWUiOm51bGwsInByaW1hcnlfZ3JvdXBfZmxhaXJfdXJsIjpudWxsLCJwcmltYXJ5X2dyb3VwX2ZsYWlyX2JnX2NvbG9yIjpudWxsLCJwcmltYXJ5X2dyb3VwX2ZsYWlyX2NvbG9yIjpudWxsLCJ2ZXJzaW9uIjoxLCJjYW5fZWRpdCI6ZmFsc2UsImNhbl9kZWxldGUiOmZhbHNlLCJjYW5fcmVjb3ZlciI6ZmFsc2UsImNhbl93aWtpIjpmYWxzZSwicmVhZCI6dHJ1ZSwidXNlcl90aXRsZSI6IiIsInJlcGx5X3RvX3VzZXIiOnsidXNlcm5hbWUiOiJXb3JpZSIsImF2YXRhcl90ZW1wbGF0ZSI6Ii91c2VyX2F2YXRhci9jb21tdW5pdHkuZm9saXZvcmEuYWkvd29yaWUve3NpemV9LzM1XzEucG5nIn0sImFjdGlvbnNfc3VtbWFyeSI6W3siaWQiOjIsImNhbl9hY3QiOnRydWV9LHsiaWQiOjUsImhpZGRlbiI6dHJ1ZSwiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6MywiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6NCwiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6OCwiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6NiwiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6NywiY2FuX2FjdCI6dHJ1ZX1dLCJtb2RlcmF0b3IiOmZhbHNlLCJhZG1pbiI6dHJ1ZSwic3RhZmYiOnRydWUsInVzZXJfaWQiOjEsImhpZGRlbiI6ZmFsc2UsInRydXN0X2xldmVsIjo0LCJkZWxldGVkX2F0IjpudWxsLCJ1c2VyX2RlbGV0ZWQiOmZhbHNlLCJlZGl0X3JlYXNvbiI6bnVsbCwiY2FuX3ZpZXdfZWRpdF9oaXN0b3J5Ijp0cnVlLCJ3aWtpIjpmYWxzZSwiY2FuX2FjY2VwdF9hbnN3ZXIiOnRydWUsImNhbl91bmFjY2VwdF9hbnN3ZXIiOmZhbHNlLCJhY2NlcHRlZF9hbnN3ZXIiOmZhbHNlfSx7ImlkIjoyODgxLCJuYW1lIjoiV29qY2llY2ggUG\/Fgm93bmlhayIsInVzZXJuYW1lIjoiV29yaWUiLCJhdmF0YXJfdGVtcGxhdGUiOiIvdXNlcl9hdmF0YXIvY29tbXVuaXR5LmZvbGl2b3JhLmFpL3dvcmllL3tzaXplfS8zNV8xLnBuZyIsImNyZWF0ZWRfYXQiOiIyMDE4LTA2LTIwVDE0OjI1OjIyLjczNFoiLCJjb29rZWQiOiJcdTAwM2NwXHUwMDNlVGhhbmtzIFx1MDAzY2EgY2xhc3M9XCJtZW50aW9uXCIgaHJlZj1cIi91L2FuZHJlYXNfaGVnZW5iZXJnXCJcdTAwM2VAQW5kcmVhc19IZWdlbmJlcmdcdTAwM2MvYVx1MDAzZSEgSSdsbCB0ZXN0IGl0IGluIGEgbWludXRlIGFuZCBsZXQgeW91IGtub3cgaWYgdGhlcmUgYXJlIGFueSBpc3N1ZXMgd2l0aCBpdCBcdTAwM2NpbWcgc3JjPVwiaHR0cHM6Ly9jb21tdW5pdHkuZm9saXZvcmEuYWkvaW1hZ2VzL2Vtb2ppL2FwcGxlL3NsaWdodF9zbWlsZS5wbmc\/dj01XCIgdGl0bGU9XCI6c2xpZ2h0X3NtaWxlOlwiIGNsYXNzPVwiZW1vamlcIiBhbHQ9XCI6c2xpZ2h0X3NtaWxlOlwiXHUwMDNlXHUwMDNjL3BcdTAwM2UiLCJwb3N0X251bWJlciI6NSwicG9zdF90eXBlIjoxLCJ1cGRhdGVkX2F0IjoiMjAxOC0wNi0yMFQxNDoyNToyMi43MzRaIiwicmVwbHlfY291bnQiOjAsInJlcGx5X3RvX3Bvc3RfbnVtYmVyIjo0LCJxdW90ZV9jb3VudCI6MCwiYXZnX3RpbWUiOm51bGwsImluY29taW5nX2xpbmtfY291bnQiOjAsInJlYWRzIjoyLCJzY29yZSI6MC40LCJ5b3VycyI6dHJ1ZSwidG9waWNfaWQiOjE4MzYsInRvcGljX3NsdWciOiJqc29uLXN0cnVjdHVyZS1pc3N1ZXMtZ2VuZXJhbC10aHJlYWQiLCJkaXNwbGF5X3VzZXJuYW1lIjoiV29qY2llY2ggUG\/Fgm93bmlhayIsInByaW1hcnlfZ3JvdXBfbmFtZSI6bnVsbCwicHJpbWFyeV9ncm91cF9mbGFpcl91cmwiOm51bGwsInByaW1hcnlfZ3JvdXBfZmxhaXJfYmdfY29sb3IiOm51bGwsInByaW1hcnlfZ3JvdXBfZmxhaXJfY29sb3IiOm51bGwsInZlcnNpb24iOjEsImNhbl9lZGl0Ijp0cnVlLCJjYW5fZGVsZXRlIjp0cnVlLCJjYW5fcmVjb3ZlciI6ZmFsc2UsImNhbl93aWtpIjpmYWxzZSwicmVhZCI6dHJ1ZSwidXNlcl90aXRsZSI6bnVsbCwicmVwbHlfdG9fdXNlciI6eyJ1c2VybmFtZSI6IkFuZHJlYXNfSGVnZW5iZXJnIiwiYXZhdGFyX3RlbXBsYXRlIjoiL3VzZXJfYXZhdGFyL2NvbW11bml0eS5mb2xpdm9yYS5haS9hbmRyZWFzX2hlZ2VuYmVyZy97c2l6ZX0vMTdfMS5wbmcifSwiYWN0aW9uc19zdW1tYXJ5IjpbeyJpZCI6NSwiaGlkZGVuIjp0cnVlLCJjYW5fYWN0Ijp0cnVlfSx7ImlkIjozLCJjYW5fYWN0Ijp0cnVlfSx7ImlkIjo0LCJjYW5fYWN0Ijp0cnVlfSx7ImlkIjo4LCJjYW5fYWN0Ijp0cnVlfSx7ImlkIjo3LCJjYW5fYWN0Ijp0cnVlfV0sIm1vZGVyYXRvciI6ZmFsc2UsImFkbWluIjpmYWxzZSwic3RhZmYiOmZhbHNlLCJ1c2VyX2lkIjo4LCJoaWRkZW4iOmZhbHNlLCJ0cnVzdF9sZXZlbCI6MiwiZGVsZXRlZF9hdCI6bnVsbCwidXNlcl9kZWxldGVkIjpmYWxzZSwiZWRpdF9yZWFzb24iOm51bGwsImNhbl92aWV3X2VkaXRfaGlzdG9yeSI6dHJ1ZSwid2lraSI6ZmFsc2UsImNhbl9hY2NlcHRfYW5zd2VyIjp0cnVlLCJjYW5fdW5hY2NlcHRfYW5zd2VyIjpmYWxzZSwiYWNjZXB0ZWRfYW5zd2VyIjpmYWxzZX0seyJpZCI6Mjg4MiwibmFtZSI6IldvamNpZWNoIFBvxYJvd25pYWsiLCJ1c2VybmFtZSI6IldvcmllIiwiYXZhdGFyX3RlbXBsYXRlIjoiL3VzZXJfYXZhdGFyL2NvbW11bml0eS5mb2xpdm9yYS5haS93b3JpZS97c2l6ZX0vMzVfMS5wbmciLCJjcmVhdGVkX2F0IjoiMjAxOC0wNi0yMFQxNDozMjoyOC43NjZaIiwiY29va2VkIjoiXHUwMDNjcFx1MDAzZVNlZW1zIHRvIGJlIHdvcmtpbmcgZmluZSEgVGhhbmsgeW91IHZlcnkgbXVjaCBmb3Igc3VjaCBxdWljayBmZWVkYmFjayBhbmQgZml4IFx1MDAzY2ltZyBzcmM9XCJodHRwczovL2NvbW11bml0eS5mb2xpdm9yYS5haS9pbWFnZXMvZW1vamkvYXBwbGUvc2xpZ2h0X3NtaWxlLnBuZz92PTVcIiB0aXRsZT1cIjpzbGlnaHRfc21pbGU6XCIgY2xhc3M9XCJlbW9qaVwiIGFsdD1cIjpzbGlnaHRfc21pbGU6XCJcdTAwM2VcdTAwM2MvcFx1MDAzZSIsInBvc3RfbnVtYmVyIjo2LCJwb3N0X3R5cGUiOjEsInVwZGF0ZWRfYXQiOiIyMDE4LTA2LTIwVDE0OjMyOjI4Ljc2NloiLCJyZXBseV9jb3VudCI6MCwicmVwbHlfdG9fcG9zdF9udW1iZXIiOm51bGwsInF1b3RlX2NvdW50IjowLCJhdmdfdGltZSI6bnVsbCwiaW5jb21pbmdfbGlua19jb3VudCI6MCwicmVhZHMiOjIsInNjb3JlIjowLjQsInlvdXJzIjp0cnVlLCJ0b3BpY19pZCI6MTgzNiwidG9waWNfc2x1ZyI6Impzb24tc3RydWN0dXJlLWlzc3Vlcy1nZW5lcmFsLXRocmVhZCIsImRpc3BsYXlfdXNlcm5hbWUiOiJXb2pjaWVjaCBQb8WCb3duaWFrIiwicHJpbWFyeV9ncm91cF9uYW1lIjpudWxsLCJwcmltYXJ5X2dyb3VwX2ZsYWlyX3VybCI6bnVsbCwicHJpbWFyeV9ncm91cF9mbGFpcl9iZ19jb2xvciI6bnVsbCwicHJpbWFyeV9ncm91cF9mbGFpcl9jb2xvciI6bnVsbCwidmVyc2lvbiI6MSwiY2FuX2VkaXQiOnRydWUsImNhbl9kZWxldGUiOnRydWUsImNhbl9yZWNvdmVyIjpmYWxzZSwiY2FuX3dpa2kiOmZhbHNlLCJyZWFkIjp0cnVlLCJ1c2VyX3RpdGxlIjpudWxsLCJhY3Rpb25zX3N1bW1hcnkiOlt7ImlkIjo1LCJoaWRkZW4iOnRydWUsImNhbl9hY3QiOnRydWV9LHsiaWQiOjMsImNhbl9hY3QiOnRydWV9LHsiaWQiOjQsImNhbl9hY3QiOnRydWV9LHsiaWQiOjgsImNhbl9hY3QiOnRydWV9LHsiaWQiOjcsImNhbl9hY3QiOnRydWV9XSwibW9kZXJhdG9yIjpmYWxzZSwiYWRtaW4iOmZhbHNlLCJzdGFmZiI6ZmFsc2UsInVzZXJfaWQiOjgsImhpZGRlbiI6ZmFsc2UsInRydXN0X2xldmVsIjoyLCJkZWxldGVkX2F0IjpudWxsLCJ1c2VyX2RlbGV0ZWQiOmZhbHNlLCJlZGl0X3JlYXNvbiI6bnVsbCwiY2FuX3ZpZXdfZWRpdF9oaXN0b3J5Ijp0cnVlLCJ3aWtpIjpmYWxzZSwiY2FuX2FjY2VwdF9hbnN3ZXIiOnRydWUsImNhbl91bmFjY2VwdF9hbnN3ZXIiOmZhbHNlLCJhY2NlcHRlZF9hbnN3ZXIiOmZhbHNlfV0sInN0cmVhbSI6WzI4MzEsMjgzMywyODM5LDI4ODAsMjg4MSwyODgyXX0sInRpbWVsaW5lX2xvb2t1cCI6W1sxLDFdLFs0LDBdXSwic3VnZ2VzdGVkX3RvcGljcyI6W3siaWQiOjE4NTYsInRpdGxlIjoiQlRUIG5vdCBwbGF5aW5nIG5pY2Ugdy8gU2tpbSAoUERGIHJlYWRlciBmb3IgT1NYKSIsImZhbmN5X3RpdGxlIjoiQlRUIG5vdCBwbGF5aW5nIG5pY2Ugdy8gU2tpbSAoUERGIHJlYWRlciBmb3IgT1NYKSIsInNsdWciOiJidHQtbm90LXBsYXlpbmctbmljZS13LXNraW0tcGRmLXJlYWRlci1mb3Itb3N4IiwicG9zdHNfY291bnQiOjMsInJlcGx5X2NvdW50IjoxLCJoaWdoZXN0X3Bvc3RfbnVtYmVyIjozLCJpbWFnZV91cmwiOm51bGwsImNyZWF0ZWRfYXQiOiIyMDE4LTA2LTIwVDA4OjAwOjA1LjU2OVoiLCJsYXN0X3Bvc3RlZF9hdCI6IjIwMTgtMDYtMjBUMTE6NTU6NTcuMzY4WiIsImJ1bXBlZCI6dHJ1ZSwiYnVtcGVkX2F0IjoiMjAxOC0wNi0yMFQxMTo1NTo1Ny4zNjhaIiwidW5zZWVuIjp0cnVlLCJwaW5uZWQiOmZhbHNlLCJ1bnBpbm5lZCI6bnVsbCwidmlzaWJsZSI6dHJ1ZSwiY2xvc2VkIjpmYWxzZSwiYXJjaGl2ZWQiOmZhbHNlLCJib29rbWFya2VkIjpudWxsLCJsaWtlZCI6bnVsbCwidGFncyI6WyJ3aW5kb3ctc25hcHBpbmciLCJrZXlib2FyZCJdLCJhcmNoZXR5cGUiOiJyZWd1bGFyIiwibGlrZV9jb3VudCI6MCwidmlld3MiOjcsImNhdGVnb3J5X2lkIjo2LCJmZWF0dXJlZF9saW5rIjpudWxsLCJwb3N0ZXJzIjpbeyJleHRyYXMiOiJsYXRlc3QiLCJkZXNjcmlwdGlvbiI6Ik9yaWdpbmFsIFBvc3RlciwgTW9zdCBSZWNlbnQgUG9zdGVyIiwidXNlciI6eyJpZCI6NTM5LCJ1c2VybmFtZSI6InNwYXJrbGVtdWZmaW4iLCJhdmF0YXJfdGVtcGxhdGUiOiIvbGV0dGVyX2F2YXRhcl9wcm94eS92Mi9sZXR0ZXIvcy8zZTk2ZGMve3NpemV9LnBuZyJ9fSx7ImV4dHJhcyI6bnVsbCwiZGVzY3JpcHRpb24iOiJGcmVxdWVudCBQb3N0ZXIiLCJ1c2VyIjp7ImlkIjoxLCJ1c2VybmFtZSI6IkFuZHJlYXNfSGVnZW5iZXJnIiwiYXZhdGFyX3RlbXBsYXRlIjoiL3VzZXJfYXZhdGFyL2NvbW11bml0eS5mb2xpdm9yYS5haS9hbmRyZWFzX2hlZ2VuYmVyZy97c2l6ZX0vMTdfMS5wbmcifX1dfSx7ImlkIjoxODQzLCJ0aXRsZSI6IkJUVCBEaXNhcHBlYXJzIGZyb20gTG9naW4gSXRlbXMiLCJmYW5jeV90aXRsZSI6IkJUVCBEaXNhcHBlYXJzIGZyb20gTG9naW4gSXRlbXMiLCJzbHVnIjoiYnR0LWRpc2FwcGVhcnMtZnJvbS1sb2dpbi1pdGVtcyIsInBvc3RzX2NvdW50IjoyLCJyZXBseV9jb3VudCI6MCwiaGlnaGVzdF9wb3N0X251bWJlciI6MiwiaW1hZ2VfdXJsIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxOC0wNi0xOVQyMzowMDo1Ni45MDlaIiwibGFzdF9wb3N0ZWRfYXQiOiIyMDE4LTA2LTIwVDA2OjM0OjI2Ljk3MFoiLCJidW1wZWQiOnRydWUsImJ1bXBlZF9hdCI6IjIwMTgtMDYtMjBUMDY6MzQ6MjYuOTcwWiIsInVuc2VlbiI6dHJ1ZSwicGlubmVkIjpmYWxzZSwidW5waW5uZWQiOm51bGwsInZpc2libGUiOnRydWUsImNsb3NlZCI6ZmFsc2UsImFyY2hpdmVkIjpmYWxzZSwiYm9va21hcmtlZCI6bnVsbCwibGlrZWQiOm51bGwsInRhZ3MiOltdLCJhcmNoZXR5cGUiOiJyZWd1bGFyIiwibGlrZV9jb3VudCI6MCwidmlld3MiOjUsImNhdGVnb3J5X2lkIjo2LCJmZWF0dXJlZF9saW5rIjpudWxsLCJwb3N0ZXJzIjpbeyJleHRyYXMiOiJsYXRlc3Qgc2luZ2xlIiwiZGVzY3JpcHRpb24iOiJPcmlnaW5hbCBQb3N0ZXIsIE1vc3QgUmVjZW50IFBvc3RlciIsInVzZXIiOnsiaWQiOjUzNSwidXNlcm5hbWUiOiJzZXRoMTAiLCJhdmF0YXJfdGVtcGxhdGUiOiIvbGV0dGVyX2F2YXRhcl9wcm94eS92Mi9sZXR0ZXIvcy9lMTlhZGMve3NpemV9LnBuZyJ9fV19LHsiaWQiOjE4NDksInRpdGxlIjoiXCJOb3JtYWwgTW91c2VcIiBTSElGVCBNb2RpZmllciBub3QgV29ya2luZyIsImZhbmN5X3RpdGxlIjoiXHUwMDI2bGRxdW87Tm9ybWFsIE1vdXNlXHUwMDI2cmRxdW87IFNISUZUIE1vZGlmaWVyIG5vdCBXb3JraW5nIiwic2x1ZyI6Im5vcm1hbC1tb3VzZS1zaGlmdC1tb2RpZmllci1ub3Qtd29ya2luZyIsInBvc3RzX2NvdW50IjoxLCJyZXBseV9jb3VudCI6MCwiaGlnaGVzdF9wb3N0X251bWJlciI6MSwiaW1hZ2VfdXJsIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxOC0wNi0yMFQwMToyODoxMi4wMzJaIiwibGFzdF9wb3N0ZWRfYXQiOiIyMDE4LTA2LTIwVDAxOjI4OjEyLjA3MVoiLCJidW1wZWQiOnRydWUsImJ1bXBlZF9hdCI6IjIwMTgtMDYtMjBUMDE6Mjg6MTIuMDcxWiIsInVuc2VlbiI6dHJ1ZSwicGlubmVkIjpmYWxzZSwidW5waW5uZWQiOm51bGwsInZpc2libGUiOnRydWUsImNsb3NlZCI6ZmFsc2UsImFyY2hpdmVkIjpmYWxzZSwiYm9va21hcmtlZCI6bnVsbCwibGlrZWQiOm51bGwsInRhZ3MiOltdLCJhcmNoZXR5cGUiOiJyZWd1bGFyIiwibGlrZV9jb3VudCI6MCwidmlld3MiOjUsImNhdGVnb3J5X2lkIjo2LCJmZWF0dXJlZF9saW5rIjpudWxsLCJwb3N0ZXJzIjpbeyJleHRyYXMiOiJsYXRlc3Qgc2luZ2xlIiwiZGVzY3JpcHRpb24iOiJPcmlnaW5hbCBQb3N0ZXIsIE1vc3QgUmVjZW50IFBvc3RlciIsInVzZXIiOnsiaWQiOjk2LCJ1c2VybmFtZSI6InByb2FjdGl2ZW1hdHRlciIsImF2YXRhcl90ZW1wbGF0ZSI6Ii91c2VyX2F2YXRhci9jb21tdW5pdHkuZm9saXZvcmEuYWkvcHJvYWN0aXZlbWF0dGVyL3tzaXplfS80OTVfMS5wbmcifX1dfSx7ImlkIjoxODI2LCJ0aXRsZSI6Ik1vdXNlIHdoZWVsIGxlZnQvcmlnaHQgYnV0dG9ucyBub3QgZGV0ZWN0ZWQuIiwiZmFuY3lfdGl0bGUiOiJNb3VzZSB3aGVlbCBsZWZ0L3JpZ2h0IGJ1dHRvbnMgbm90IGRldGVjdGVkLiIsInNsdWciOiJtb3VzZS13aGVlbC1sZWZ0LXJpZ2h0LWJ1dHRvbnMtbm90LWRldGVjdGVkIiwicG9zdHNfY291bnQiOjEsInJlcGx5X2NvdW50IjowLCJoaWdoZXN0X3Bvc3RfbnVtYmVyIjoxLCJpbWFnZV91cmwiOm51bGwsImNyZWF0ZWRfYXQiOiIyMDE4LTA2LTE4VDIxOjMzOjQzLjY0MFoiLCJsYXN0X3Bvc3RlZF9hdCI6IjIwMTgtMDYtMThUMjE6MzM6NDMuNjg1WiIsImJ1bXBlZCI6dHJ1ZSwiYnVtcGVkX2F0IjoiMjAxOC0wNi0xOFQyMTozMzo0My42ODVaIiwidW5zZWVuIjp0cnVlLCJwaW5uZWQiOmZhbHNlLCJ1bnBpbm5lZCI6bnVsbCwidmlzaWJsZSI6dHJ1ZSwiY2xvc2VkIjpmYWxzZSwiYXJjaGl2ZWQiOmZhbHNlLCJib29rbWFya2VkIjpudWxsLCJsaWtlZCI6bnVsbCwidGFncyI6W10sImFyY2hldHlwZSI6InJlZ3VsYXIiLCJsaWtlX2NvdW50IjowLCJ2aWV3cyI6NiwiY2F0ZWdvcnlfaWQiOjYsImZlYXR1cmVkX2xpbmsiOm51bGwsInBvc3RlcnMiOlt7ImV4dHJhcyI6ImxhdGVzdCBzaW5nbGUiLCJkZXNjcmlwdGlvbiI6Ik9yaWdpbmFsIFBvc3RlciwgTW9zdCBSZWNlbnQgUG9zdGVyIiwidXNlciI6eyJpZCI6NTI0LCJ1c2VybmFtZSI6Ind6YWF0YXIiLCJhdmF0YXJfdGVtcGxhdGUiOiIvdXNlcl9hdmF0YXIvY29tbXVuaXR5LmZvbGl2b3JhLmFpL3d6YWF0YXIve3NpemV9LzQ4NF8xLnBuZyJ9fV19LHsiaWQiOjE3NjgsInRpdGxlIjoiQlRUIGNyYXNoZXMgd2hlbiBydW5uaW5nIGFzeW5jIEFwcGxlU2NyaXB0IiwiZmFuY3lfdGl0bGUiOiJCVFQgY3Jhc2hlcyB3aGVuIHJ1bm5pbmcgYXN5bmMgQXBwbGVTY3JpcHQiLCJzbHVnIjoiYnR0LWNyYXNoZXMtd2hlbi1ydW5uaW5nLWFzeW5jLWFwcGxlc2NyaXB0IiwicG9zdHNfY291bnQiOjUsInJlcGx5X2NvdW50IjoxLCJoaWdoZXN0X3Bvc3RfbnVtYmVyIjo1LCJpbWFnZV91cmwiOm51bGwsImNyZWF0ZWRfYXQiOiIyMDE4LTA2LTE1VDE2OjE1OjMyLjg1MloiLCJsYXN0X3Bvc3RlZF9hdCI6IjIwMTgtMDYtMTVUMTc6Mzc6NTcuMzU5WiIsImJ1bXBlZCI6dHJ1ZSwiYnVtcGVkX2F0IjoiMjAxOC0wNi0xNVQxNzozNzo1Ny4zNTlaIiwidW5zZWVuIjpmYWxzZSwicGlubmVkIjpmYWxzZSwidW5waW5uZWQiOm51bGwsInZpc2libGUiOnRydWUsImNsb3NlZCI6ZmFsc2UsImFyY2hpdmVkIjpmYWxzZSwiYm9va21hcmtlZCI6bnVsbCwibGlrZWQiOm51bGwsInRhZ3MiOltdLCJhcmNoZXR5cGUiOiJyZWd1bGFyIiwibGlrZV9jb3VudCI6MCwidmlld3MiOjE5LCJjYXRlZ29yeV9pZCI6NiwiZmVhdHVyZWRfbGluayI6bnVsbCwicG9zdGVycyI6W3siZXh0cmFzIjoibGF0ZXN0IiwiZGVzY3JpcHRpb24iOiJPcmlnaW5hbCBQb3N0ZXIsIE1vc3QgUmVjZW50IFBvc3RlciIsInVzZXIiOnsiaWQiOjQ2OSwidXNlcm5hbWUiOiJTaG51YiIsImF2YXRhcl90ZW1wbGF0ZSI6Ii9sZXR0ZXJfYXZhdGFyX3Byb3h5L3YyL2xldHRlci9zLzgzOGU3Ni97c2l6ZX0ucG5nIn19LHsiZXh0cmFzIjpudWxsLCJkZXNjcmlwdGlvbiI6IkZyZXF1ZW50IFBvc3RlciIsInVzZXIiOnsiaWQiOjEsInVzZXJuYW1lIjoiQW5kcmVhc19IZWdlbmJlcmciLCJhdmF0YXJfdGVtcGxhdGUiOiIvdXNlcl9hdmF0YXIvY29tbXVuaXR5LmZvbGl2b3JhLmFpL2FuZHJlYXNfaGVnZW5iZXJnL3tzaXplfS8xN18xLnBuZyJ9fV19XSwidGFncyI6WyJqc29uIl0sImlkIjoxODM2LCJ0aXRsZSI6IkpTT04gc3RydWN0dXJlIC8gaXNzdWVzIChnZW5lcmFsIHRocmVhZCkiLCJmYW5jeV90aXRsZSI6IkpTT04gc3RydWN0dXJlIC8gaXNzdWVzIChnZW5lcmFsIHRocmVhZCkiLCJwb3N0c19jb3VudCI6NiwiY3JlYXRlZF9hdCI6IjIwMTgtMDYtMTlUMTI6MDI6NDkuMTc2WiIsInZpZXdzIjoxMiwicmVwbHlfY291bnQiOjIsImxpa2VfY291bnQiOjEsImxhc3RfcG9zdGVkX2F0IjoiMjAxOC0wNi0yMFQxNDozMjoyOC43NjZaIiwidmlzaWJsZSI6dHJ1ZSwiY2xvc2VkIjpmYWxzZSwiYXJjaGl2ZWQiOmZhbHNlLCJoYXNfc3VtbWFyeSI6ZmFsc2UsImFyY2hldHlwZSI6InJlZ3VsYXIiLCJzbHVnIjoianNvbi1zdHJ1Y3R1cmUtaXNzdWVzLWdlbmVyYWwtdGhyZWFkIiwiY2F0ZWdvcnlfaWQiOjYsIndvcmRfY291bnQiOjQ3NiwiZGVsZXRlZF9hdCI6bnVsbCwidXNlcl9pZCI6OCwiZmVhdHVyZWRfbGluayI6bnVsbCwicGlubmVkX2dsb2JhbGx5IjpmYWxzZSwicGlubmVkX2F0IjpudWxsLCJwaW5uZWRfdW50aWwiOm51bGwsImRyYWZ0IjpudWxsLCJkcmFmdF9rZXkiOiJ0b3BpY18xODM2IiwiZHJhZnRfc2VxdWVuY2UiOjcsInBvc3RlZCI6dHJ1ZSwidW5waW5uZWQiOm51bGwsInBpbm5lZCI6ZmFsc2UsImRldGFpbHMiOnsiY3JlYXRlZF9ieSI6eyJpZCI6OCwidXNlcm5hbWUiOiJXb3JpZSIsImF2YXRhcl90ZW1wbGF0ZSI6Ii91c2VyX2F2YXRhci9jb21tdW5pdHkuZm9saXZvcmEuYWkvd29yaWUve3NpemV9LzM1XzEucG5nIn0sImxhc3RfcG9zdGVyIjp7ImlkIjo4LCJ1c2VybmFtZSI6IldvcmllIiwiYXZhdGFyX3RlbXBsYXRlIjoiL3VzZXJfYXZhdGFyL2NvbW11bml0eS5mb2xpdm9yYS5haS93b3JpZS97c2l6ZX0vMzVfMS5wbmcifSwicGFydGljaXBhbnRzIjpbeyJpZCI6OCwidXNlcm5hbWUiOiJXb3JpZSIsImF2YXRhcl90ZW1wbGF0ZSI6Ii91c2VyX2F2YXRhci9jb21tdW5pdHkuZm9saXZvcmEuYWkvd29yaWUve3NpemV9LzM1XzEucG5nIiwicG9zdF9jb3VudCI6NCwicHJpbWFyeV9ncm91cF9uYW1lIjpudWxsLCJwcmltYXJ5X2dyb3VwX2ZsYWlyX3VybCI6bnVsbCwicHJpbWFyeV9ncm91cF9mbGFpcl9jb2xvciI6bnVsbCwicHJpbWFyeV9ncm91cF9mbGFpcl9iZ19jb2xvciI6bnVsbH0seyJpZCI6MSwidXNlcm5hbWUiOiJBbmRyZWFzX0hlZ2VuYmVyZyIsImF2YXRhcl90ZW1wbGF0ZSI6Ii91c2VyX2F2YXRhci9jb21tdW5pdHkuZm9saXZvcmEuYWkvYW5kcmVhc19oZWdlbmJlcmcve3NpemV9LzE3XzEucG5nIiwicG9zdF9jb3VudCI6MiwicHJpbWFyeV9ncm91cF9uYW1lIjpudWxsLCJwcmltYXJ5X2dyb3VwX2ZsYWlyX3VybCI6bnVsbCwicHJpbWFyeV9ncm91cF9mbGFpcl9jb2xvciI6bnVsbCwicHJpbWFyeV9ncm91cF9mbGFpcl9iZ19jb2xvciI6bnVsbH1dLCJub3RpZmljYXRpb25fbGV2ZWwiOjMsIm5vdGlmaWNhdGlvbnNfcmVhc29uX2lkIjoxLCJjYW5fZWRpdCI6dHJ1ZSwiY2FuX2ludml0ZV90byI6dHJ1ZSwiY2FuX2ludml0ZV92aWFfZW1haWwiOnRydWUsImNhbl9jcmVhdGVfcG9zdCI6dHJ1ZSwiY2FuX3JlcGx5X2FzX25ld190b3BpYyI6dHJ1ZSwiY2FuX2ZsYWdfdG9waWMiOnRydWV9LCJjdXJyZW50X3Bvc3RfbnVtYmVyIjoyLCJoaWdoZXN0X3Bvc3RfbnVtYmVyIjo2LCJsYXN0X3JlYWRfcG9zdF9udW1iZXIiOjYsImxhc3RfcmVhZF9wb3N0X2lkIjoyODgyLCJkZWxldGVkX2J5IjpudWxsLCJhY3Rpb25zX3N1bW1hcnkiOlt7ImlkIjo0LCJjb3VudCI6MCwiaGlkZGVuIjpmYWxzZSwiY2FuX2FjdCI6dHJ1ZX0seyJpZCI6OCwiY291bnQiOjAsImhpZGRlbiI6ZmFsc2UsImNhbl9hY3QiOnRydWV9LHsiaWQiOjcsImNvdW50IjowLCJoaWRkZW4iOmZhbHNlLCJjYW5fYWN0Ijp0cnVlfV0sImNodW5rX3NpemUiOjIwLCJib29rbWFya2VkIjpmYWxzZSwidG9waWNfdGltZXIiOm51bGwsInByaXZhdGVfdG9waWNfdGltZXIiOm51bGwsIm1lc3NhZ2VfYnVzX2xhc3RfaWQiOjE2LCJwYXJ0aWNpcGFudF9jb3VudCI6MiwiY2FuX3ZvdGUiOnRydWUsInZvdGVfY291bnQiOjAsInVzZXJfdm90ZWQiOmZhbHNlfSk7CiAgICAgIH0pKCk7CiAgICAgIDwvc2NyaXB0PgoKICAgIAoKICAgIDxzY3JpcHQ+CiAgRW1iZXIuUlNWUC5jb25maWd1cmUoJ29uZXJyb3InLCBmdW5jdGlvbihlKSB7CiAgICAvLyBJZ25vcmUgVHJhbnNpdGlvbkFib3J0ZWQgZXhjZXB0aW9ucyB0aGF0IGJ1YmJsZSB1cAogICAgaWYgKGUgJiYgZS5tZXNzYWdlID09PSAiVHJhbnNpdGlvbkFib3J0ZWQiKSB7IHJldHVybjsgfQoKICAgIHdpbmRvdy5vbmVycm9yKGUgJiYgZS5tZXNzYWdlLCBudWxsLG51bGwsbnVsbCxlKTsKICB9KTsKPC9zY3JpcHQ+Cgo8c2NyaXB0PgoKICAoZnVuY3Rpb24oKSB7CiAgICB2YXIgcHMgPSByZXF1aXJlKCdwcmVsb2FkLXN0b3JlJykuZGVmYXVsdDsKCiAgICBEaXNjb3Vyc2UuQ0ROID0gJyc7CiAgICBEaXNjb3Vyc2UuQmFzZVVybCA9ICdjb21tdW5pdHkuZm9saXZvcmEuYWknLnJlcGxhY2UoLzpbXGRdKiQvLCIiKTsKICAgIERpc2NvdXJzZS5CYXNlVXJpID0gJyc7CiAgICBEaXNjb3Vyc2UuRW52aXJvbm1lbnQgPSAncHJvZHVjdGlvbic7CiAgICBEaXNjb3Vyc2UuU2l0ZVNldHRpbmdzID0gcHMuZ2V0KCdzaXRlU2V0dGluZ3MnKTsKICAgIERpc2NvdXJzZS5UaGVtZVNldHRpbmdzID0gcHMuZ2V0KCd0aGVtZVNldHRpbmdzJyk7CiAgICBEaXNjb3Vyc2UuTGV0dGVyQXZhdGFyVmVyc2lvbiA9ICc1XzE4ODc5MjE1NjJkZjBkYWJmYWU1NTA3OWRkYWJlYjAzJzsKICAgIERpc2NvdXJzZS5NYXJrZG93bkl0VVJMID0gJ2h0dHBzOi8vY29tbXVuaXR5LmZvbGl2b3JhLmFpL2Fzc2V0cy9tYXJrZG93bi1pdC1idW5kbGUtYzZmNTRlZTEwZDY0ZTI5MTQ3NzlmZmRhNjhmNzI0MjliNzU3ZGI0N2UzZDEzMzIwMDg0NjBmM2JmOTljYjc5NC5qcyc7CiAgICBEaXNjb3Vyc2UuU2VydmljZVdvcmtlclVSTCA9IERpc2NvdXJzZS5FbnZpcm9ubWVudCAhPSAiZGV2ZWxvcG1lbnQiID8gJ3NlcnZpY2Utd29ya2VyLWIzMTMyY2U0NGM5NTg4NzhhM2RjMTk3NzYwNzJhZDM4NjFhNjYxY2E5ODNlM2M4ZjAyNjljMjdhNDM5ZDQ3ZDIuanMnIDogJ3NlcnZpY2Utd29ya2VyLmpzJzsKICAgIEkxOG4uZGVmYXVsdExvY2FsZSA9ICdlbic7CiAgICBEaXNjb3Vyc2Uuc3RhcnQoKTsKICAgIERpc2NvdXJzZS5zZXQoJ2Fzc2V0VmVyc2lvbicsJzAxMGJjNzA3MjE3ZGE3OWRkYzRhNTcyZDljYWRjYWNkJyk7CiAgICBEaXNjb3Vyc2UuU2Vzc2lvbi5jdXJyZW50UHJvcCgiZGlzYWJsZUN1c3RvbUNTUyIsIGZhbHNlKTsKICAgIERpc2NvdXJzZS5IaWdobGlnaHRKU1BhdGggPSAiL2hpZ2hsaWdodC1qcy9jb21tdW5pdHkuZm9saXZvcmEuYWkvMTAwNDQ0Y2VlZjhjYTE2MTMzNGY2NGQzY2U0OWZlN2ExNTU2Zjk0My5qcyI7CiAgfSkoKTsKPC9zY3JpcHQ+Cgo8bGluayByZWw9J3ByZWxvYWQnIGhyZWY9Jy9hc3NldHMvYnJvd3Nlci11cGRhdGUtZjU3Mjg2ZTc0ZGRiYzUzYWE4OTk2ODliMDFlZjQ2NzA3ODkxMWU0MTM4MDUwYzU2MTkzOTk1NTg0OWFmMzVkZC5qcycgYXM9J3NjcmlwdCcvPgo8c2NyaXB0IHNyYz0nL2Fzc2V0cy9icm93c2VyLXVwZGF0ZS1mNTcyODZlNzRkZGJjNTNhYTg5OTY4OWIwMWVmNDY3MDc4OTExZTQxMzgwNTBjNTYxOTM5OTU1ODQ5YWYzNWRkLmpzJz48L3NjcmlwdD4KCgogICAgICAKICAgIAogIDwvYm9keT4KPC9odG1sPgo=",
      "BTTFileOther" : "html"
    }
  ]
}

This does not work either, but does not crash the BTT. As I understand, BTTFileContent is BASE64 encoded string of the source code of the page that'll be opened?

You are passing size 0,0 (width 0 height 0), which will basically make it invisible

Could you try this:

{
  "BTTTriggerClass" : "BTTTriggerTypeKeyboardShortcut",
  "BTTPredefinedActionType" : 249,
  "BTTPredefinedActionName" : "Show Floating WebView\/HTML Menu",
  "BTTActionFloatingHTMLName" : "sdasda",
  "BTTActionFloatingHTMLConfig" : "{ \"BTTUUID\" : \"DBB0B67B-7580-4DAF-BB06-0829436B6C77\",\"BTTCloseOnOutsideClick\":false,\"BTTUseWhiteBackground\":false,\"BTTCloseOnBrowserOpen\":false,\"BTTShowButtons\":false,\"BTTSize\":\"{200, 200}\",\"BTTDoNotCache\":false}",
  "BTTAdditionalConfiguration" : "1572864",
  "BTTEnabled2" : 1,

  "BTTTriggerOnDown" : 1,
  "BTTEnabled" : 1,
  "BTTShortcutKeyCode" : 11,
  "BTTShortcutModifierKeys" : 1572864,
  "BTTOrder" : 105,
  "BTTFiles" : [
    {
      "BTTFileContent" : "CiAgPCFET0NUWVBFIGh0bWw+CiAgPGh0bWw+CiAgPGhlYWQ+PC9oZWFkPgogIDxib2R5PgogICAgPGgxPiBIZWxsbyB3b3JsZCEgPC9oMT4KICA8L2JvZHk+CiAgPC9odG1sPgogIA====",
      "BTTFileOther" : "html"
    }
  ]
}

Thanks - you were right, this was the reason the webView seemed like it wasn't showing. After changing the size - keyboard shortcut started working.

But, unfortunately - I've copied the JSON of the action that is working from within BTT, here it is:

{
  "BTTTriggerClass" : "BTTTriggerTypeKeyboardShortcut",
  "BTTPredefinedActionType" : 249,
  "BTTPredefinedActionName" : "Show Floating WebView\/HTML Menu",
  "BTTActionFloatingHTMLName" : "sdasda",
  "BTTActionFloatingHTMLConfig" : "{\"BTTCloseOnOutsideClick\":true,\"BTTUseWhiteBackground\":true,\"BTTCloseOnBrowserOpen\":false,\"BTTShowButtons\":false,\"BTTSize\":\"{100, 100}\",\"BTTDoNotCache\":true}",
  "BTTAdditionalConfiguration" : "1572864",
  "BTTEnabled2" : 1,
  "BTTUUID" : "DBB0B67B-7580-4DAF-BB06-0829436B6C77",
  "BTTTriggerOnDown" : 1,
  "BTTEnabled" : 1,
  "BTTShortcutKeyCode" : 11,
  "BTTShortcutModifierKeys" : 1572864,
  "BTTOrder" : 105,
  "BTTFiles" : [
    {
      "BTTFileContent" : "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIiBjbGFzcz0iZGVza3RvcC12aWV3IG5vdC1tb2JpbGUtZGV2aWNlICAiPgo8aGVhZD48L2hlYWQ+Cjxib2R5Pmh5ZWxvbzwvYm9keT4KPC9odG1sPgo=",
      "BTTFileOther" : "html"
    }
  ]
}

And when I'm trying to send it over to webserver (the exact same JSON) - it crashes

Ah damn, I think I may hav forgotten to fix the nested json issue for the files entity. I'll look at it when I'm back home!

1 Like

I quickly uploaded a new alpha, if it was the nested JSON issue, it should now be working. Otherwise I'll look into it tomorrow!

Seems like its working now, thank you for resolving the issue!

Hi again, seems like in the latest alpha the update_touch_bar_widget endpoint stopped working.

The URL that I'm sending: http://127.0.0.1:64472/update_touch_bar_widget/?uuid=4616A685-ABA5-4629-8666-68E21344B03D&text=lol&icon_path=/Users/Worie/Downloads/256x256bb.jpg&background_color=255,255,255,1

The presence or lack of icon_path does not change anything (I didn't really want to set it, but checked if its an issue) - seems like this endpoint stopped working at all.

The UUID I pass is correct however, because:

http://127.0.0.1:64472/execute_assigned_actions_for_trigger/?uuid=4616A685-ABA5-4629-8666-68E21344B03D shows a HUD that I've assigned to it.

EDIT: sorry, I've found the issue.. I've created a TouchBar button, not widget. Shouldn't it work for buttons, too?

sorry, this currently only works for widgets not for buttons (because the widget behave differently due to their dynamics). For buttons you would use the standard update_trigger method.

1 Like

Sure, thanks for letting me know. That's one more thing to learn :slight_smile: I'm curious about one more thing at this point - what is the status of emojis when triggering an action / updating the widget text from webserver? I guess we've talked about it in some older thread, but unfortunately nor invoking a HUD from webserver with emoji as a text value in it, nor updating the widget text with emoji seems to work. Has this been adressed already and I missed something or this is still on a to-do list?

Weird, the emoji issue should have been fixed a few versions ago.
For example this link works fine for me:

http://127.0.0.1:60699/trigger_action/?json={ "BTTTriggerType" : 643, "BTTTriggerTypeDescription" : "Named Trigger: testtest", "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers", "BTTPredefinedActionType" : 5, "BTTPredefinedActionName" : "Mission Control", "BTTTriggerName" : "testtest", "BTTEnabled2" : 1, "BTTUUID" : "91D54385-467F-44BC-9979-185A6D1EA1D0", "BTTEnabled" : 1, "BTTOrder" : 0, "BTTTriggerConfig" : { "BTTHUDText" : "😀", "BTTHUDDetailText" : "🤣", "BTTShowHUD" : 1 } }

Weird, there still seem to be issues depending on how that link is opened / encoded. I'll check if I accidentally reverted one of the changes or haven't included it in the alpha yet.

1 Like

I think it's some sort of encoding issue but will need to look deeper into this. Not yet sure which side needs to handle this.
Apparently it works fine if the emojis are encoded like this, but only when triggering it via java script, if putting it in a normal link element it doesn't seem to work...:

Works:

window.location = "http://127.0.0.1:60699/trigger_action/?json={%20%22BTTTriggerType%22%20:%20643,%20%22BTTTriggerTypeDescription%22%20:%20%22Named%20Trigger:%20testtest%22,%20%22BTTTriggerClass%22%20:%20%22BTTTriggerTypeOtherTriggers%22,%20%22BTTPredefinedActionType%22%20:%205,%20%22BTTPredefinedActionName%22%20:%20%22Mission%20Control%22,%20%22BTTTriggerName%22%20:%20%22testtest%22,%20%22BTTEnabled2%22%20:%201,%20%22BTTUUID%22%20:%20%2291D54385-467F-44BC-9979-185A6D1EA1D0%22,%20%22BTTEnabled%22%20:%201,%20%22BTTOrder%22%20:%200,%20%22BTTTriggerConfig%22%20:%20{%20%22BTTHUDText%22%20:%20%22%F0%9F%98%80%22,%20%22BTTHUDDetailText%22%20:%20%22%F0%9F%A4%A3%22,%20%22BTTShowHUD%22%20:%201%20}%20}"

//edit: I just found that if you put
Testlink

Super weird. When opening the test link in a new tab, it seems to work correctly. When clicking it it doesn't :open_mouth:
Not sure if this is intended browser behavior or if there is some sort of bug.