{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8IS0tCiAgICDilZTilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZcKICAgIOKVkSAgQlJBTkRIQU5EU0hBS0UgT0ZGSUNJQUwgQ09ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKVkQogICAg4pWg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWjCiAgICDilZEgIEZJTEU6IGJyYW5kaGFuZHNoYWtlLXJlZmVycmFsLXJld2FyZHMtU0xVRy1yZWZlcnJhbC1yZXdhcmRzLVYxLmh0bWwgICAgICAgICDilZEKICAgIOKVkSAgU0xVRzogL3JlZmVycmFsLXJld2FyZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKVkQogICAg4pWRICBWRVJTSU9OOiBWLTEgT0ZGSUNJQUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pWRCiAgICDilZEgIExBU1QgVVBEQVRFRDogSmFudWFyeSAyMDI2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilZEKICAgIOKVkSAgU1RBVFVTOiDinIUgTElWRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilZEKICAgIOKVoOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVowogICAg4pWRICBQVVJQT1NFOiBSZWZlcnJhbCBSZXdhcmRzIFByb2dyYW0gLSBQcm9kdWN0IFJld2FyZHMgT25seSAoTm8gQ2FzaCkgICAgICAgICAg4pWRCiAgICDilZEgIEZPUk0gVE86IHNob3Bsb2NhbGJ1c2luZXNzYWdlbmN5QGdtYWlsLmNvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilZEKICAgIOKVkSAgUkVESVJFQ1RTIFRPOiAvdGhhbmsteW91ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKVkQogICAg4pWg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWjCiAgICDilZEgIMKpIDIwMjYgTXVrYXNhIFZlbnR1cmUgUGFydG5lcnMgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAgICAgICAgICAgICAgICAgICAg4pWRCiAgICDilZEgIPCflJAgUFJPVEVDVEVEIENPREUgLSBVbmF1dGhvcml6ZWQgY29weWluZyBwcm9oaWJpdGVkLiAgICAgICAgICAgICAgICAgICAgICAgIOKVkQogICAg4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdCiAgICAtLT4KICAgIAogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgCiAgICA8IS0tID09PT09PT09PT0gU0VDVVJJVFkgSEVBREVSUyA9PT09PT09PT09IC0tPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1GcmFtZS1PcHRpb25zIiBjb250ZW50PSJTQU1FT1JJR0lOIj4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJmcmFtZS1hbmNlc3RvcnMgJ3NlbGYnIGh0dHBzOi8vKi5icmFuZGhhbmRzaGFrZS5jb20gaHR0cHM6Ly8qLmhhbmRzaGFrZS5hZnJpY2EiPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1Db250ZW50LVR5cGUtT3B0aW9ucyIgY29udGVudD0ibm9zbmlmZiI+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVhTUy1Qcm90ZWN0aW9uIiBjb250ZW50PSIxOyBtb2RlPWJsb2NrIj4KICAgIDxtZXRhIG5hbWU9InJlZmVycmVyIiBjb250ZW50PSJzdHJpY3Qtb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luIj4KICAgIDwhLS0gPT09PT09PT09PSBFTkQgU0VDVVJJVFkgPT09PT09PT09PSAtLT4KICAgIAogICAgPHRpdGxlPlJlZmVycmFsIFJld2FyZHMgfCBFYXJuIFVwZ3JhZGVzICYgUGVya3MgfCBCcmFuZEhhbmRzaGFrZTwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSm9pbiB0aGUgQnJhbmRIYW5kc2hha2UgUmVmZXJyYWwgUmV3YXJkcyBQcm9ncmFtLiBSZWZlciBmcmllbmRzLCBlYXJuIGZyZWUgdXBncmFkZXMsIFFSIGNvZGVzLCB2aWRlb3MsIGhvc3RpbmcsIGFuZCBtb3JlLiBObyBjYXNoIC0ganVzdCByZWFsIHZhbHVlIGZvciB5b3VyIGNhcmQhIj4KICAgIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0iaW5kZXgsIGZvbGxvdyI+CiAgICA8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly9icmFuZGhhbmRzaGFrZS5jb20vcmVmZXJyYWwtcmV3YXJkcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVBsYXlmYWlyK0Rpc3BsYXk6d2dodEA0MDA7NTAwOzYwMDs3MDA7ODAwJmZhbWlseT1Db3Jtb3JhbnQrR2FyYW1vbmQ6aXRhbCx3Z2h0QDAsNDAwOzAsNTAwOzAsNjAwOzEsNDAwJmZhbWlseT1OdW5pdG86d2dodEAzMDA7NDAwOzUwMDs2MDA7NzAwJmRpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDxzdHlsZT4KICAgICAgICA6cm9vdCB7CiAgICAgICAgICAgIC0tbmF2eTogIzBEMUIyQTsKICAgICAgICAgICAgLS1pbmRpZ286ICMxQzFGNEE7CiAgICAgICAgICAgIC0tZ29sZDogI0Q0QUYzNzsKICAgICAgICAgICAgLS1pdm9yeTogI0Y4RjRFQzsKICAgICAgICAgICAgLS1kZWVwZ29sZDogI0I4OTcyRTsKICAgICAgICAgICAgLS1jaGFyY29hbDogIzBhMGExMjsKICAgICAgICAgICAgLS1ncmVlbjogIzEwYjk4MTsKICAgICAgICAgICAgLS1jeWFuOiAjMDZiNmQ0OwogICAgICAgICAgICAtLXB1cnBsZTogIzhiNWNmNjsKICAgICAgICAgICAgLS1ibHVlOiAjM2I4MmY2OwogICAgICAgICAgICAtLWVsZWN0cmljOiAjODE4Y2Y4OwogICAgICAgICAgICAtLXRlYWw6ICMxNGI4YTY7CiAgICAgICAgICAgIC0tYnJvbnplOiAjY2Q3ZjMyOwogICAgICAgICAgICAtLXNpbHZlcjogI2E4YThhODsKICAgICAgICAgICAgLS1kaWFtb25kOiAjYjlmMmZmOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAqIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9CiAgICAgICAgaHRtbCB7IHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyB9CiAgICAgICAgCiAgICAgICAgYm9keSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0taXZvcnkpOwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS43OwogICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5iZy1tYXN0ZXIgewogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICAgIHRvcDogMDsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsKICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IDA7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IAogICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgMjAlIDEwJSwgcmdiYSgxMzksIDkyLCAyNDYsIDAuMjUpIDAlLCB0cmFuc3BhcmVudCA1MCUpLAogICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgODAlIDkwJSwgcmdiYSg2LCAxODIsIDIxMiwgMC4yKSAwJSwgdHJhbnNwYXJlbnQgNDAlKSwKICAgICAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDUwJSA1MCUsIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KSAwJSwgdHJhbnNwYXJlbnQgNjAlKSwKICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNoYXJjb2FsKSAwJSwgdmFyKC0tbmF2eSkgNTAlLCB2YXIoLS1pbmRpZ28pIDEwMCUpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucGFydGljbGUgewogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgICAgICB6LWluZGV4OiAxOwogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICAgICAgICBhbmltYXRpb246IGZsb2F0UGFydGljbGUgMjBzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICB9CiAgICAgICAgLnBhcnRpY2xlOm50aC1jaGlsZCgxKSB7IHRvcDogMTAlOyBsZWZ0OiA1JTsgYW5pbWF0aW9uLWRlbGF5OiAwczsgfQogICAgICAgIC5wYXJ0aWNsZTpudGgtY2hpbGQoMikgeyB0b3A6IDIwJTsgcmlnaHQ6IDEwJTsgYW5pbWF0aW9uLWRlbGF5OiAzczsgfQogICAgICAgIC5wYXJ0aWNsZTpudGgtY2hpbGQoMykgeyB0b3A6IDYwJTsgbGVmdDogOCU7IGFuaW1hdGlvbi1kZWxheTogNnM7IH0KICAgICAgICAucGFydGljbGU6bnRoLWNoaWxkKDQpIHsgdG9wOiA4MCU7IHJpZ2h0OiAxNSU7IGFuaW1hdGlvbi1kZWxheTogOXM7IH0KICAgICAgICAucGFydGljbGU6bnRoLWNoaWxkKDUpIHsgdG9wOiA0MCU7IGxlZnQ6IDgwJTsgYW5pbWF0aW9uLWRlbGF5OiAxMnM7IH0KICAgICAgICBAa2V5ZnJhbWVzIGZsb2F0UGFydGljbGUgewogICAgICAgICAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoMGRlZyk7IG9wYWNpdHk6IDAuMzsgfQogICAgICAgICAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpIHJvdGF0ZSgxODBkZWcpOyBvcGFjaXR5OiAwLjY7IH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBhZ2UtY29udGFpbmVyIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5wYWdlLWhlYWRlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsKICAgICAgICB9CiAgICAgICAgLmJyYW5kLWxvZ28gewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdvbGQpLCB2YXIoLS1jeWFuKSk7CiAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5yZXdhcmRzLWJhZGdlIHsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxMzksIDkyLCAyNDYsIDAuMyksIHJnYmEoNiwgMTgyLCAyMTIsIDAuMikpOwogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wdXJwbGUpOwogICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDM1cHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWVsZWN0cmljKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBiYWRnZUdsb3cgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgICAgICAgfQogICAgICAgIEBrZXlmcmFtZXMgYmFkZ2VHbG93IHsKICAgICAgICAgICAgMCUsIDEwMCUgeyBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDEzOSwgOTIsIDI0NiwgMC4zKTsgfQogICAgICAgICAgICA1MCUgeyBib3gtc2hhZG93OiAwIDAgNDBweCByZ2JhKDEzOSwgOTIsIDI0NiwgMC42KTsgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDV2dywgMy41cmVtKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgICB9CiAgICAgICAgLnBhZ2UtdGl0bGUgLmhpZ2hsaWdodCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWN5YW4pLCB2YXIoLS1wdXJwbGUpLCB2YXIoLS1ibHVlKSk7CiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSBhdXRvOwogICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgICAgICBhbmltYXRpb246IHNoaW1tZXJUaXRsZSAzcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQogICAgICAgIEBrZXlmcmFtZXMgc2hpbW1lclRpdGxlIHsKICAgICAgICAgICAgMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSBjZW50ZXI7IH0KICAgICAgICAgICAgMTAwJSB7IGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgY2VudGVyOyB9CiAgICAgICAgfQogICAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07CiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC44KTsKICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5sb3R0ZXJ5LWJhbm5lciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXB1cnBsZSksIHZhcigtLWJsdWUpLCB2YXIoLS1jeWFuKSk7CiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSBhdXRvOwogICAgICAgICAgICBhbmltYXRpb246IGJhbm5lckZsb3cgNHMgbGluZWFyIGluZmluaXRlOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDMwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KICAgICAgICBAa2V5ZnJhbWVzIGJhbm5lckZsb3cgewogICAgICAgICAgICAwJSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAlIGNlbnRlcjsgfQogICAgICAgICAgICAxMDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSBjZW50ZXI7IH0KICAgICAgICB9CiAgICAgICAgLmxvdHRlcnktYmFubmVyOjpiZWZvcmUgewogICAgICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDA7IGxlZnQ6IC0xMDAlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDI1NSwyNTUsMjU1LDAuMiksIHRyYW5zcGFyZW50KTsKICAgICAgICAgICAgYW5pbWF0aW9uOiBiYW5uZXJTaGluZSAzcyBpbmZpbml0ZTsKICAgICAgICB9CiAgICAgICAgQGtleWZyYW1lcyBiYW5uZXJTaGluZSB7CiAgICAgICAgICAgIDAlIHsgbGVmdDogLTEwMCU7IH0KICAgICAgICAgICAgMTAwJSB7IGxlZnQ6IDEwMCU7IH0KICAgICAgICB9CiAgICAgICAgLmxvdHRlcnktYmFubmVyIGgzIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOwogICAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9CiAgICAgICAgLmxvdHRlcnktdGltZXIgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxNXB4OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfQogICAgICAgIC50aW1lci1ibG9jayB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgcGFkZGluZzogMTJweCAxOHB4OwogICAgICAgICAgICBtaW4td2lkdGg6IDcwcHg7CiAgICAgICAgfQogICAgICAgIC50aW1lci1udW1iZXIgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICB9CiAgICAgICAgLnRpbWVyLWxhYmVsIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7CiAgICAgICAgfQogICAgICAgIC5sb3R0ZXJ5LW5vdGUgewogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmhvdy1zZWN0aW9uIHsgbWFyZ2luLWJvdHRvbTogNTBweDsgfQogICAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsKICAgICAgICB9CiAgICAgICAgLnNlY3Rpb24taGVhZGVyIGgyIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAuc2VjdGlvbi1oZWFkZXIgaDIgLmN5YW4geyBjb2xvcjogdmFyKC0tY3lhbik7IH0KICAgICAgICAuc2VjdGlvbi1oZWFkZXIgaDIgLnB1cnBsZSB7IGNvbG9yOiB2YXIoLS1wdXJwbGUpOyB9CiAgICAgICAgLnNlY3Rpb24taGVhZGVyIHAgewogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjcpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc3RlcHMtZ3JpZCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjIwcHgsIDFmcikpOwogICAgICAgICAgICBnYXA6IDI1cHg7CiAgICAgICAgfQogICAgICAgIC5zdGVwLWNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDI4LCAzMSwgNzQsIDAuNiksIHJnYmEoMTMsIDI3LCA0MiwgMC45KSk7CiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjMpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4OwogICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDI1cHg7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIH0KICAgICAgICAuc3RlcC1jYXJkOmhvdmVyIHsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDIwcHggNDBweCByZ2JhKDYsIDE4MiwgMjEyLCAwLjIpOwogICAgICAgIH0KICAgICAgICAuc3RlcC1udW1iZXIgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRvcDogLTE1cHg7CiAgICAgICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1wdXJwbGUpLCB2YXIoLS1jeWFuKSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07CiAgICAgICAgfQogICAgICAgIC5zdGVwLWljb24geyBmb250LXNpemU6IDNyZW07IG1hcmdpbjogMTVweCAwOyB9CiAgICAgICAgLnN0ZXAtdGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jeWFuKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgICB9CiAgICAgICAgLnN0ZXAtZGVzYyB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjcpOwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAudGllcnMtc2VjdGlvbiB7IG1hcmdpbi1ib3R0b206IDUwcHg7IH0KICAgICAgICAudGllcnMtZ3JpZCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7CiAgICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICB9CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7IC50aWVycy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSB7IC50aWVycy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IG1heC13aWR0aDogMzIwcHg7IG1hcmdpbjogMCBhdXRvOyB9IH0KICAgICAgICAKICAgICAgICAudGllci1jYXJkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSgyOCwgMzEsIDc0LCAwLjcpLCByZ2JhKDEzLCAyNywgNDIsIDAuOTUpKTsKICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQ7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQogICAgICAgIC50aWVyLWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHNjYWxlKDEuMDIpOyB9CiAgICAgICAgCiAgICAgICAgLnRpZXItY2FyZC5icm9uemUgeyBib3JkZXItY29sb3I6IHZhcigtLWJyb256ZSk7IH0KICAgICAgICAudGllci1jYXJkLmJyb256ZTpob3ZlciB7IGJveC1zaGFkb3c6IDAgMjBweCA1MHB4IHJnYmEoMjA1LCAxMjcsIDUwLCAwLjMpOyB9CiAgICAgICAgLnRpZXItY2FyZC5icm9uemUgLnRpZXItYmFkZ2UgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjY2Q3ZjMyLCAjOGI0NTEzKTsgY29sb3I6IHdoaXRlOyB9CiAgICAgICAgLnRpZXItY2FyZC5icm9uemUgLnRpZXItbmFtZSB7IGNvbG9yOiB2YXIoLS1icm9uemUpOyB9CiAgICAgICAgLnRpZXItY2FyZC5icm9uemUgLnRpZXItaWNvbiB7IGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDEwcHggcmdiYSgyMDUsIDEyNywgNTAsIDAuNSkpOyB9CiAgICAgICAgCiAgICAgICAgLnRpZXItY2FyZC5zaWx2ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXNpbHZlcik7IH0KICAgICAgICAudGllci1jYXJkLnNpbHZlcjpob3ZlciB7IGJveC1zaGFkb3c6IDAgMjBweCA1MHB4IHJnYmEoMTY4LCAxNjgsIDE2OCwgMC4zKTsgfQogICAgICAgIC50aWVyLWNhcmQuc2lsdmVyIC50aWVyLWJhZGdlIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2MwYzBjMCwgIzgwODA4MCk7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgfQogICAgICAgIC50aWVyLWNhcmQuc2lsdmVyIC50aWVyLW5hbWUgeyBjb2xvcjogdmFyKC0tc2lsdmVyKTsgfQogICAgICAgIC50aWVyLWNhcmQuc2lsdmVyIC50aWVyLWljb24geyBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxMHB4IHJnYmEoMTY4LCAxNjgsIDE2OCwgMC41KSk7IH0KICAgICAgICAKICAgICAgICAudGllci1jYXJkLmdvbGQgeyBib3JkZXItY29sb3I6IHZhcigtLWdvbGQpOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xKSwgcmdiYSgxMywgMjcsIDQyLCAwLjk1KSk7IH0KICAgICAgICAudGllci1jYXJkLmdvbGQ6aG92ZXIgeyBib3gtc2hhZG93OiAwIDIwcHggNTBweCByZ2JhKDIxMiwgMTc1LCA1NSwgMC40KTsgfQogICAgICAgIC50aWVyLWNhcmQuZ29sZCAudGllci1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdvbGQpLCB2YXIoLS1kZWVwZ29sZCkpOyBjb2xvcjogdmFyKC0tbmF2eSk7IH0KICAgICAgICAudGllci1jYXJkLmdvbGQgLnRpZXItbmFtZSB7IGNvbG9yOiB2YXIoLS1nb2xkKTsgfQogICAgICAgIC50aWVyLWNhcmQuZ29sZCAudGllci1pY29uIHsgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMTVweCByZ2JhKDIxMiwgMTc1LCA1NSwgMC42KSk7IH0KICAgICAgICAKICAgICAgICAudGllci1jYXJkLmRpYW1vbmQgeyBib3JkZXItY29sb3I6IHZhcigtLWRpYW1vbmQpOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDE4NSwgMjQyLCAyNTUsIDAuMSksIHJnYmEoMTMsIDI3LCA0MiwgMC45NSkpOyB9CiAgICAgICAgLnRpZXItY2FyZC5kaWFtb25kOmhvdmVyIHsgYm94LXNoYWRvdzogMCAyMHB4IDUwcHggcmdiYSgxODUsIDI0MiwgMjU1LCAwLjQpOyB9CiAgICAgICAgLnRpZXItY2FyZC5kaWFtb25kIC50aWVyLWJhZGdlIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2I5ZjJmZiwgIzdkZDNmYywgIzM4YmRmOCk7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgfQogICAgICAgIC50aWVyLWNhcmQuZGlhbW9uZCAudGllci1uYW1lIHsgY29sb3I6IHZhcigtLWRpYW1vbmQpOyB9CiAgICAgICAgLnRpZXItY2FyZC5kaWFtb25kIC50aWVyLWljb24geyBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAyMHB4IHJnYmEoMTg1LCAyNDIsIDI1NSwgMC44KSk7IGFuaW1hdGlvbjogZGlhbW9uZFNwYXJrbGUgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH0KICAgICAgICBAa2V5ZnJhbWVzIGRpYW1vbmRTcGFya2xlIHsgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfSB9CiAgICAgICAgCiAgICAgICAgLnRpZXItYmFkZ2UgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDZweCAxNnB4OyBib3JkZXItcmFkaXVzOiAxNXB4OyBmb250LXNpemU6IDAuNjVyZW07IGZvbnQtd2VpZ2h0OiA4MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAycHg7IG1hcmdpbi1ib3R0b206IDEycHg7IH0KICAgICAgICAudGllci1pY29uIHsgZm9udC1zaXplOiAzcmVtOyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9CiAgICAgICAgLnRpZXItbmFtZSB7IGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOyBmb250LXNpemU6IDEuM3JlbTsgbWFyZ2luLWJvdHRvbTogNXB4OyB9CiAgICAgICAgLnRpZXItcmVxdWlyZW1lbnQgeyBmb250LXNpemU6IDAuOHJlbTsgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC42KTsgbWFyZ2luLWJvdHRvbTogMTVweDsgcGFkZGluZy1ib3R0b206IDE1cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuMSk7IH0KICAgICAgICAudGllci1yZXdhcmRzIHsgbGlzdC1zdHlsZTogbm9uZTsgdGV4dC1hbGlnbjogbGVmdDsgZm9udC1zaXplOiAwLjhyZW07IH0KICAgICAgICAudGllci1yZXdhcmRzIGxpIHsgcGFkZGluZzogNnB4IDA7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDhweDsgfQogICAgICAgIC5yZXdhcmQtY2hlY2sgeyBjb2xvcjogdmFyKC0tZ3JlZW4pOyBmb250LXNpemU6IDAuOXJlbTsgZmxleC1zaHJpbms6IDA7IH0KICAgICAgICAKICAgICAgICAucmV3YXJkcy1leHBsYWluIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSgyOCwgMzEsIDc0LCAwLjYpLCByZ2JhKDEzLCAyNywgNDIsIDAuOSkpOwogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDYsIDE4MiwgMjEyLCAwLjMpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4OwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OwogICAgICAgIH0KICAgICAgICAucmV3YXJkcy1ncmlkIHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNTBweCwgMWZyKSk7CiAgICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDsKICAgICAgICB9CiAgICAgICAgLnJld2FyZC10eXBlIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMzksIDkyLCAyNDYsIDAuMik7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgfQogICAgICAgIC5yZXdhcmQtdHlwZTpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tY3lhbik7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsgfQogICAgICAgIC5yZXdhcmQtdHlwZS1pY29uIHsgZm9udC1zaXplOiAyLjJyZW07IG1hcmdpbi1ib3R0b206IDEwcHg7IH0KICAgICAgICAucmV3YXJkLXR5cGUtbmFtZSB7IGZvbnQtc2l6ZTogMC44NXJlbTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWN5YW4pOyBtYXJnaW4tYm90dG9tOiA1cHg7IH0KICAgICAgICAucmV3YXJkLXR5cGUtZGVzYyB7IGZvbnQtc2l6ZTogMC43cmVtOyBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjYpOyB9CiAgICAgICAgCiAgICAgICAgLnJ1bGVzLXNlY3Rpb24gewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSwgcmdiYSgxMywgMjcsIDQyLCAwLjkpKTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMyk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7CiAgICAgICAgfQogICAgICAgIC5ydWxlcy1saXN0IHsgbGlzdC1zdHlsZTogbm9uZTsgbWFyZ2luLXRvcDogMjVweDsgfQogICAgICAgIC5ydWxlcy1saXN0IGxpIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogMTJweDsgcGFkZGluZzogMTJweCAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMSk7IGZvbnQtc2l6ZTogMC45cmVtOyB9CiAgICAgICAgLnJ1bGVzLWxpc3QgbGk6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH0KICAgICAgICAucnVsZS1pY29uIHsgZm9udC1zaXplOiAxLjFyZW07IGZsZXgtc2hyaW5rOiAwOyB9CiAgICAgICAgLnJ1bGVzLWxpc3Qgc3Ryb25nIHsgY29sb3I6IHZhcigtLWN5YW4pOyB9CiAgICAgICAgCiAgICAgICAgLnNpZ251cC1zZWN0aW9uIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSgyOCwgMzEsIDc0LCAwLjcpLCByZ2JhKDEzLCAyNywgNDIsIDAuOTUpKTsKICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQ7CiAgICAgICAgICAgIGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcHVycGxlKSwgdmFyKC0tY3lhbiksIHZhcigtLWJsdWUpKSAxOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDQwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7CiAgICAgICAgfQogICAgICAgIC5zaWdudXAtaGVhZGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tYm90dG9tOiAzNXB4OyB9CiAgICAgICAgLnNpZ251cC1oZWFkZXIgaDIgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAycmVtOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jeWFuKSwgdmFyKC0tcHVycGxlKSk7CiAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgfQogICAgICAgIC5zaWdudXAtaGVhZGVyIHAgeyBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjcpOyB9CiAgICAgICAgCiAgICAgICAgLmZvcm0tZ3JvdXAgeyBtYXJnaW4tYm90dG9tOiAyMnB4OyB9CiAgICAgICAgLmZvcm0tZ3JvdXAgbGFiZWwgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAwLjhyZW07IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAxLjVweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC43KTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfQogICAgICAgIC5mb3JtLWdyb3VwIGxhYmVsIC5yZXF1aXJlZCB7IGNvbG9yOiB2YXIoLS1jeWFuKTsgfQogICAgICAgIC5mb3JtLWdyb3VwIGlucHV0LCAuZm9ybS1ncm91cCBzZWxlY3QsIC5mb3JtLWdyb3VwIHRleHRhcmVhIHsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMThweDsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMzksIDkyLCAyNDYsIDAuMyk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWl2b3J5KTsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICBmb250LWZhbWlseTogJ051bml0bycsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgfQogICAgICAgIC5mb3JtLWdyb3VwIGlucHV0OmZvY3VzLCAuZm9ybS1ncm91cCBzZWxlY3Q6Zm9jdXMsIC5mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuKTsgYm94LXNoYWRvdzogMCAwIDI1cHggcmdiYSg2LCAxODIsIDIxMiwgMC4yKTsgfQogICAgICAgIC5mb3JtLWdyb3VwIGlucHV0OjpwbGFjZWhvbGRlciwgLmZvcm0tZ3JvdXAgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC40KTsgfQogICAgICAgIC5mb3JtLWdyb3VwIHNlbGVjdCB7IGN1cnNvcjogcG9pbnRlcjsgYXBwZWFyYW5jZTogbm9uZTsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PScwIDAgMTIgMTInJTNFJTNDcGF0aCBmaWxsPSclMjMwNmI2ZDQnIGQ9J002IDhMMSAzaDEweicvJTNFJTNDL3N2ZyUzRSIpOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxOHB4IGNlbnRlcjsgfQogICAgICAgIC5mb3JtLWdyb3VwIHNtYWxsIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi10b3A6IDZweDsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjUpOyB9CiAgICAgICAgCiAgICAgICAgLmZvcm0tcm93IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDIwcHg7IH0KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsgLmZvcm0tcm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfQogICAgICAgIAogICAgICAgIC5jaGVja2JveC1ncm91cCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDEycHg7IHBhZGRpbmc6IDE1cHg7IGJhY2tncm91bmQ6IHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjEpOyBib3JkZXItcmFkaXVzOiAxMnB4OyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzOSwgOTIsIDI0NiwgMC4yKTsgfQogICAgICAgIC5jaGVja2JveC1ncm91cCBpbnB1dFt0eXBlPSJjaGVja2JveCJdIHsgd2lkdGg6IDIycHg7IGhlaWdodDogMjJweDsgYWNjZW50LWNvbG9yOiB2YXIoLS1jeWFuKTsgY3Vyc29yOiBwb2ludGVyOyBmbGV4LXNocmluazogMDsgbWFyZ2luLXRvcDogMnB4OyB9CiAgICAgICAgLmNoZWNrYm94LWdyb3VwIGxhYmVsIHsgZm9udC1zaXplOiAwLjg1cmVtOyBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjg1KTsgbWFyZ2luLWJvdHRvbTogMDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IGN1cnNvcjogcG9pbnRlcjsgfQogICAgICAgIAogICAgICAgIC5zdWJtaXQtYnRuIHsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogODAwOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4OwogICAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcHVycGxlKSwgdmFyKC0tY3lhbiksIHZhcigtLWJsdWUpKTsKICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMDAlIGF1dG87CiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDQ1cHggcmdiYSgxMzksIDkyLCAyNDYsIDAuMyk7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7CiAgICAgICAgICAgIGFuaW1hdGlvbjogYnRuU2hpbW1lciAzcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQogICAgICAgIEBrZXlmcmFtZXMgYnRuU2hpbW1lciB7IDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgY2VudGVyOyB9IDEwMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIGNlbnRlcjsgfSB9CiAgICAgICAgLnN1Ym1pdC1idG46aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCkgc2NhbGUoMS4wMik7IGJveC1zaGFkb3c6IDAgMjVweCA2MHB4IHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjUpOyB9CiAgICAgICAgCiAgICAgICAgLmNhcmQtZmlyc3Qtc2VjdGlvbiB7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMzBweDsgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpOyBib3JkZXItcmFkaXVzOiAyMHB4OyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9CiAgICAgICAgLmNhcmQtZmlyc3Qtc2VjdGlvbiBwIHsgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC43KTsgbWFyZ2luLWJvdHRvbTogMTVweDsgfQogICAgICAgIC5jYXJkLWZpcnN0LWxpbmsgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IHBhZGRpbmc6IDEycHggMzBweDsgYmFja2dyb3VuZDogcmdiYSg2LCAxODIsIDIxMiwgMC4yKTsgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3lhbik7IGJvcmRlci1yYWRpdXM6IDMwcHg7IGNvbG9yOiB2YXIoLS1jeWFuKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXdlaWdodDogNzAwOyB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9CiAgICAgICAgLmNhcmQtZmlyc3QtbGluazpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWN5YW4pOyBjb2xvcjogdmFyKC0tbmF2eSk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsgfQogICAgICAgIAogICAgICAgIC5mb290ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDMwcHg7IGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDEzOSwgOTIsIDI0NiwgMC4yKTsgfQogICAgICAgIC5mb290ZXItYnJhbmQgeyBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsgZm9udC1zaXplOiAxLjNyZW07IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdvbGQpLCB2YXIoLS1jeWFuKSk7IC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IG1hcmdpbi1ib3R0b206IDEwcHg7IH0KICAgICAgICAuZm9vdGVyIHAgeyBmb250LXNpemU6IDAuOHJlbTsgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC41KTsgfQogICAgICAgIC5mb290ZXItbGlua3MgeyBtYXJnaW4tdG9wOiAxNXB4OyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAyNXB4OyB9CiAgICAgICAgLmZvb3Rlci1saW5rcyBhIHsgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC42KTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXNpemU6IDAuODVyZW07IHRyYW5zaXRpb246IGNvbG9yIDAuM3M7IH0KICAgICAgICAuZm9vdGVyLWxpbmtzIGE6aG92ZXIgeyBjb2xvcjogdmFyKC0tY3lhbik7IH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsKICAgICAgICAgICAgLnNpZ251cC1zZWN0aW9uLCAucmV3YXJkcy1leHBsYWluLCAucnVsZXMtc2VjdGlvbiB7IHBhZGRpbmc6IDI1cHggMjBweDsgfQogICAgICAgICAgICAubG90dGVyeS1iYW5uZXIgeyBwYWRkaW5nOiAyMHB4OyB9CiAgICAgICAgICAgIC50aW1lci1ibG9jayB7IG1pbi13aWR0aDogNTVweDsgcGFkZGluZzogMTBweCAxMnB4OyB9CiAgICAgICAgICAgIC50aW1lci1udW1iZXIgeyBmb250LXNpemU6IDEuNHJlbTsgfQogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8ZGl2IGNsYXNzPSJiZy1tYXN0ZXIiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFydGljbGUiPvCfjoE8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhcnRpY2xlIj7irZA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhcnRpY2xlIj7wn5KOPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYXJ0aWNsZSI+8J+PhjwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFydGljbGUiPuKcqDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJwYWdlLWNvbnRhaW5lciI+CiAgICAgICAgPGhlYWRlciBjbGFzcz0icGFnZS1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJicmFuZC1sb2dvIj7wn6SdIEJyYW5kSGFuZHNoYWtlPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJld2FyZHMtYmFkZ2UiPjxzcGFuPvCfjoE8L3NwYW4+IFJld2FyZHMgUHJvZ3JhbTwvZGl2PgogICAgICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPlJlZmVyICYgRWFybiA8c3BhbiBjbGFzcz0iaGlnaGxpZ2h0Ij5GcmVlIFVwZ3JhZGVzPC9zcGFuPjwvaDE+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlLXN1YnRpdGxlIj4iU2hhcmUgQnJhbmRIYW5kc2hha2Ugd2l0aCBmcmllbmRzIGFuZCB1bmxvY2sgcHJlbWl1bSBmZWF0dXJlcywgUVIgY29kZXMsIHZpZGVvcywgaG9zdGluZywgYW5kIG1vcmUg4oCUIGFic29sdXRlbHkgZnJlZSEiPC9wPgogICAgICAgIDwvaGVhZGVyPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImxvdHRlcnktYmFubmVyIj4KICAgICAgICAgICAgPGgzPvCfjrAgTW9udGhseSBSZXdhcmRzIExvdHRlcnkg4oCUIExpbWl0ZWQgU2xvdHMhPC9oMz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG90dGVyeS10aW1lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lci1ibG9jayI+PGRpdiBjbGFzcz0idGltZXItbnVtYmVyIiBpZD0iZGF5cyI+MTU8L2Rpdj48ZGl2IGNsYXNzPSJ0aW1lci1sYWJlbCI+RGF5czwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZXItYmxvY2siPjxkaXYgY2xhc3M9InRpbWVyLW51bWJlciIgaWQ9ImhvdXJzIj4wODwvZGl2PjxkaXYgY2xhc3M9InRpbWVyLWxhYmVsIj5Ib3VyczwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZXItYmxvY2siPjxkaXYgY2xhc3M9InRpbWVyLW51bWJlciIgaWQ9Im1pbnMiPjQyPC9kaXY+PGRpdiBjbGFzcz0idGltZXItbGFiZWwiPk1pbnM8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVyLWJsb2NrIj48ZGl2IGNsYXNzPSJ0aW1lci1udW1iZXIiIGlkPSJzZWNzIj4xNzwvZGl2PjxkaXYgY2xhc3M9InRpbWVyLWxhYmVsIj5TZWNzPC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8cCBjbGFzcz0ibG90dGVyeS1ub3RlIj7imqEgT25seSA1MCByZXdhcmQgc2xvdHMgYXZhaWxhYmxlIHRoaXMgbW9udGguIFNpZ24gdXAgYmVmb3JlIHRoZSB0aW1lciBydW5zIG91dCE8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9Imhvdy1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICAgICAgPGgyPkhvdyBJdCA8c3BhbiBjbGFzcz0iY3lhbiI+V29ya3M8L3NwYW4+PC9oMj4KICAgICAgICAgICAgICAgIDxwPlNpbXBsZSBzdGVwcyB0byBzdGFydCBlYXJuaW5nIGZyZWUgdXBncmFkZXM8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwcy1ncmlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtY2FyZCI+PGRpdiBjbGFzcz0ic3RlcC1udW1iZXIiPjE8L2Rpdj48ZGl2IGNsYXNzPSJzdGVwLWljb24iPvCflJc8L2Rpdj48ZGl2IGNsYXNzPSJzdGVwLXRpdGxlIj5HZXQgWW91ciBDb2RlPC9kaXY+PGRpdiBjbGFzcz0ic3RlcC1kZXNjIj5TaWduIHVwIGFuZCByZWNlaXZlIHlvdXIgdW5pcXVlIEFtYmFzc2Fkb3IgcmVmZXJyYWwgY29kZSB0byBzaGFyZS48L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtY2FyZCI+PGRpdiBjbGFzcz0ic3RlcC1udW1iZXIiPjI8L2Rpdj48ZGl2IGNsYXNzPSJzdGVwLWljb24iPvCfk6Q8L2Rpdj48ZGl2IGNsYXNzPSJzdGVwLXRpdGxlIj5TaGFyZSAmIFJlZmVyPC9kaXY+PGRpdiBjbGFzcz0ic3RlcC1kZXNjIj5TaGFyZSB5b3VyIGNvZGUgd2l0aCBmcmllbmRzIHdobyBuZWVkIGEgZGlnaXRhbCBidXNpbmVzcyBjYXJkLjwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC1jYXJkIj48ZGl2IGNsYXNzPSJzdGVwLW51bWJlciI+MzwvZGl2PjxkaXYgY2xhc3M9InN0ZXAtaWNvbiI+4pyFPC9kaXY+PGRpdiBjbGFzcz0ic3RlcC10aXRsZSI+VGhleSBQdXJjaGFzZTwvZGl2PjxkaXYgY2xhc3M9InN0ZXAtZGVzYyI+V2hlbiB0aGV5IGJ1eSB1c2luZyB5b3VyIGNvZGUsIHdlIHRyYWNrIHlvdXIgcmVmZXJyYWwgYXV0b21hdGljYWxseS48L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtY2FyZCI+PGRpdiBjbGFzcz0ic3RlcC1udW1iZXIiPjQ8L2Rpdj48ZGl2IGNsYXNzPSJzdGVwLWljb24iPvCfjoE8L2Rpdj48ZGl2IGNsYXNzPSJzdGVwLXRpdGxlIj5VbmxvY2sgUmV3YXJkczwvZGl2PjxkaXYgY2xhc3M9InN0ZXAtZGVzYyI+SGl0IHJlZmVycmFsIG1pbGVzdG9uZXMgYW5kIGNsYWltIGZyZWUgdXBncmFkZXMgZm9yIHlvdXIgY2FyZCE8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIAogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0aWVycy1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICAgICAgPGgyPlJld2FyZHMgPHNwYW4gY2xhc3M9InB1cnBsZSI+VGllcnM8L3NwYW4+PC9oMj4KICAgICAgICAgICAgICAgIDxwPk1vcmUgcmVmZXJyYWxzID0gQmV0dGVyIHJld2FyZHMuIE5vIGNhc2gg4oCUIGp1c3QgcmVhbCB2YWx1ZSE8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVycy1ncmlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpZXItY2FyZCBicm9uemUiPjxkaXYgY2xhc3M9InRpZXItYmFkZ2UiPlN0YXJ0ZXI8L2Rpdj48ZGl2IGNsYXNzPSJ0aWVyLWljb24iPvCfpYk8L2Rpdj48ZGl2IGNsYXNzPSJ0aWVyLW5hbWUiPkJyb256ZTwvZGl2PjxkaXYgY2xhc3M9InRpZXItcmVxdWlyZW1lbnQiPjMtOSBSZWZlcnJhbHM8L2Rpdj48dWwgY2xhc3M9InRpZXItcmV3YXJkcyI+PGxpPjxzcGFuIGNsYXNzPSJyZXdhcmQtY2hlY2siPuKckzwvc3Bhbj4gQmFzaWMgUVIgQ29kZTwvbGk+PGxpPjxzcGFuIGNsYXNzPSJyZXdhcmQtY2hlY2siPuKckzwvc3Bhbj4gKzEgU29jaWFsIExpbms8L2xpPjxsaT48c3BhbiBjbGFzcz0icmV3YXJkLWNoZWNrIj7inJM8L3NwYW4+IFJlZmVycmFsIERhc2hib2FyZDwvbGk+PC91bD48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpZXItY2FyZCBzaWx2ZXIiPjxkaXYgY2xhc3M9InRpZXItYmFkZ2UiPkdyb3dpbmc8L2Rpdj48ZGl2IGNsYXNzPSJ0aWVyLWljb24iPvCfpYg8L2Rpdj48ZGl2IGNsYXNzPSJ0aWVyLW5hbWUiPlNpbHZlcjwvZGl2PjxkaXYgY2xhc3M9InRpZXItcmVxdWlyZW1lbnQiPjEwLTI0IFJlZmVycmFsczwvZGl2Pjx1bCBjbGFzcz0idGllci1yZXdhcmRzIj48bGk+PHNwYW4gY2xhc3M9InJld2FyZC1jaGVjayI+4pyTPC9zcGFuPiBCcmFuZGVkIFFSIENvZGU8L2xpPjxsaT48c3BhbiBjbGFzcz0icmV3YXJkLWNoZWNrIj7inJM8L3NwYW4+IDEwLXNlYyBWaWRlbzwvbGk+PGxpPjxzcGFuIGNsYXNzPSJyZXdhcmQtY2hlY2siPuKckzwvc3Bhbj4gKzMgU29jaWFsIExpbmtzPC9saT48bGk+PHNwYW4gY2xhc3M9InJld2FyZC1jaGVjayI+4pyTPC9zcGFuPiAxIE1vbnRoIEZyZWUgSG9zdGluZzwvbGk+PC91bD48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpZXItY2FyZCBnb2xkIj48ZGl2IGNsYXNzPSJ0aWVyLWJhZGdlIj5FbGl0ZTwvZGl2PjxkaXYgY2xhc3M9InRpZXItaWNvbiI+8J+lhzwvZGl2PjxkaXYgY2xhc3M9InRpZXItbmFtZSI+R29sZDwvZGl2PjxkaXYgY2xhc3M9InRpZXItcmVxdWlyZW1lbnQiPjI1LTQ5IFJlZmVycmFsczwvZGl2Pjx1bCBjbGFzcz0idGllci1yZXdhcmRzIj48bGk+PHNwYW4gY2xhc3M9InJld2FyZC1jaGVjayI+4pyTPC9zcGFuPiBDdXN0b20gUVIgKyBJbWFnZTwvbGk+PGxpPjxzcGFuIGNsYXNzPSJyZXdhcmQtY2hlY2siPuKckzwvc3Bhbj4gMzAtc2VjIFZpZGVvPC9saT48bGk+PHNwYW4gY2xhc3M9InJld2FyZC1jaGVjayI+4pyTPC9zcGFuPiArNSBTb2NpYWwgTGlua3M8L2xpPjxsaT48c3BhbiBjbGFzcz0icmV3YXJkLWNoZWNrIj7inJM8L3NwYW4+IEJhbm5lciBBZCBTZXQgKDNjaCk8L2xpPjxsaT48c3BhbiBjbGFzcz0icmV3YXJkLWNoZWNrIj7inJM8L3NwYW4+IDYgTW9udGhzIEhvc3Rpbmc8L2xpPjwvdWw+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLWNhcmQgZGlhbW9uZCI+PGRpdiBjbGFzcz0idGllci1iYWRnZSI+VklQPC9kaXY+PGRpdiBjbGFzcz0idGllci1pY29uIj7wn5KOPC9kaXY+PGRpdiBjbGFzcz0idGllci1uYW1lIj5EaWFtb25kPC9kaXY+PGRpdiBjbGFzcz0idGllci1yZXF1aXJlbWVudCI+NTArIFJlZmVycmFsczwvZGl2Pjx1bCBjbGFzcz0idGllci1yZXdhcmRzIj48bGk+PHNwYW4gY2xhc3M9InJld2FyZC1jaGVjayI+4pyTPC9zcGFuPiBQcmVtaXVtIFFSICsgTG9nbzwvbGk+PGxpPjxzcGFuIGNsYXNzPSJyZXdhcmQtY2hlY2siPuKckzwvc3Bhbj4gNjAtc2VjIFZpZGVvPC9saT48bGk+PHNwYW4gY2xhc3M9InJld2FyZC1jaGVjayI+4pyTPC9zcGFuPiBVbmxpbWl0ZWQgU29jaWFsczwvbGk+PGxpPjxzcGFuIGNsYXNzPSJyZXdhcmQtY2hlY2siPuKckzwvc3Bhbj4gQmFubmVyIEFkcyAoNWNoKTwvbGk+PGxpPjxzcGFuIGNsYXNzPSJyZXdhcmQtY2hlY2siPuKckzwvc3Bhbj4gMSBZZWFyIEZyZWUgSG9zdGluZzwvbGk+PGxpPjxzcGFuIGNsYXNzPSJyZXdhcmQtY2hlY2siPuKckzwvc3Bhbj4gRnJlZSBEb21haW4gKDF5cik8L2xpPjwvdWw+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAKICAgICAgICA8c2VjdGlvbiBjbGFzcz0icmV3YXJkcy1leHBsYWluIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICAgICAgPGgyPldoYXQgWW91IENhbiA8c3BhbiBjbGFzcz0iY3lhbiI+RWFybjwvc3Bhbj48L2gyPgogICAgICAgICAgICAgICAgPHA+UmVhbCB1cGdyYWRlcyBmb3IgeW91ciBkaWdpdGFsIGJ1c2luZXNzIGNhcmQ8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXdhcmRzLWdyaWQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV3YXJkLXR5cGUiPjxkaXYgY2xhc3M9InJld2FyZC10eXBlLWljb24iPvCfk7E8L2Rpdj48ZGl2IGNsYXNzPSJyZXdhcmQtdHlwZS1uYW1lIj5RUiBDb2RlczwvZGl2PjxkaXYgY2xhc3M9InJld2FyZC10eXBlLWRlc2MiPlBsYWluIOKGkiBJbWFnZSDihpIgQnJhbmRlZCDihpIgTG9nbzwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV3YXJkLXR5cGUiPjxkaXYgY2xhc3M9InJld2FyZC10eXBlLWljb24iPvCfjqw8L2Rpdj48ZGl2IGNsYXNzPSJyZXdhcmQtdHlwZS1uYW1lIj5WaWRlbyBJbnRyb3M8L2Rpdj48ZGl2IGNsYXNzPSJyZXdhcmQtdHlwZS1kZXNjIj4xMHMg4oaSIDMwcyDihpIgNjBzPC9kaXY+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXdhcmQtdHlwZSI+PGRpdiBjbGFzcz0icmV3YXJkLXR5cGUtaWNvbiI+8J+UlzwvZGl2PjxkaXYgY2xhc3M9InJld2FyZC10eXBlLW5hbWUiPlNvY2lhbCBMaW5rczwvZGl2PjxkaXYgY2xhc3M9InJld2FyZC10eXBlLWRlc2MiPisxIOKGkiArMyDihpIgKzUg4oaSIFVubGltaXRlZDwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV3YXJkLXR5cGUiPjxkaXYgY2xhc3M9InJld2FyZC10eXBlLWljb24iPvCflrzvuI88L2Rpdj48ZGl2IGNsYXNzPSJyZXdhcmQtdHlwZS1uYW1lIj5CYW5uZXIgQWRzPC9kaXY+PGRpdiBjbGFzcz0icmV3YXJkLXR5cGUtZGVzYyI+MyBjaGFubmVscyDihpIgNSBjaGFubmVsczwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV3YXJkLXR5cGUiPjxkaXYgY2xhc3M9InJld2FyZC10eXBlLWljb24iPvCfjJA8L2Rpdj48ZGl2IGNsYXNzPSJyZXdhcmQtdHlwZS1uYW1lIj5GcmVlIEhvc3Rpbmc8L2Rpdj48ZGl2IGNsYXNzPSJyZXdhcmQtdHlwZS1kZXNjIj4xbW8g4oaSIDNtbyDihpIgNm1vIOKGkiAxeXI8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJld2FyZC10eXBlIj48ZGl2IGNsYXNzPSJyZXdhcmQtdHlwZS1pY29uIj7wn4+377iPPC9kaXY+PGRpdiBjbGFzcz0icmV3YXJkLXR5cGUtbmFtZSI+RnJlZSBEb21haW48L2Rpdj48ZGl2IGNsYXNzPSJyZXdhcmQtdHlwZS1kZXNjIj5DdXN0b20geW91cm5hbWUuY29tICgxeXIpPC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAKICAgICAgICA8c2VjdGlvbiBjbGFzcz0icnVsZXMtc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMj5JbXBvcnRhbnQgPHNwYW4gY2xhc3M9ImN5YW4iPlJ1bGVzPC9zcGFuPjwvaDI+CiAgICAgICAgICAgICAgICA8cD5QbGVhc2UgcmVhZCBiZWZvcmUgam9pbmluZzwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDx1bCBjbGFzcz0icnVsZXMtbGlzdCI+CiAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InJ1bGUtaWNvbiI+8J+Oqzwvc3Bhbj48c3Bhbj48c3Ryb25nPllvdSBtdXN0IGhhdmUgYSBCcmFuZEhhbmRzaGFrZSBjYXJkPC9zdHJvbmc+IHRvIHBhcnRpY2lwYXRlIGluIHRoZSByZXdhcmRzIHByb2dyYW0uIEdldCB5b3VyIGNhcmQgZmlyc3QhPC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InJ1bGUtaWNvbiI+4pyFPC9zcGFuPjxzcGFuPjxzdHJvbmc+VmVyaWZpZWQgcHVyY2hhc2VzIG9ubHkuPC9zdHJvbmc+IFJlZmVycmFscyBhcmUgY291bnRlZCB3aGVuIHlvdXIgZnJpZW5kIGNvbXBsZXRlcyBhIHB1cmNoYXNlIHVzaW5nIHlvdXIgY29kZS48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0icnVsZS1pY29uIj7wn46wPC9zcGFuPjxzcGFuPjxzdHJvbmc+TW9udGhseSBsb3R0ZXJ5IHN5c3RlbS48L3N0cm9uZz4gUmV3YXJkcyBhcmUgZGlzdHJpYnV0ZWQgdGhyb3VnaCBhIG1vbnRobHkgbG90dGVyeSB3aXRoIGxpbWl0ZWQgc2xvdHMgdG8gZW5zdXJlIGZhaXJuZXNzLjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJydWxlLWljb24iPuKPsDwvc3Bhbj48c3Bhbj48c3Ryb25nPlJld2FyZHMgZXhwaXJlLjwvc3Ryb25nPiBVbmNsYWltZWQgcmV3YXJkcyBleHBpcmUgOTAgZGF5cyBhZnRlciBlYXJuaW5nLiBDbGFpbSB0aGVtIHByb21wdGx5ITwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJydWxlLWljb24iPvCfmqs8L3NwYW4+PHNwYW4+PHN0cm9uZz5ObyBjYXNoIHBheW91dHMuPC9zdHJvbmc+IFRoaXMgcHJvZ3JhbSBvZmZlcnMgcHJvZHVjdCB1cGdyYWRlcyBvbmx5IOKAlCBubyBtb25ldGFyeSBjb21taXNzaW9ucy48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0icnVsZS1pY29uIj7wn5GkPC9zcGFuPjxzcGFuPjxzdHJvbmc+QW1iYXNzYWRvciBzdGF0dXMgcmVxdWlyZXMgYXBwcm92YWwuPC9zdHJvbmc+IEhpZ2ggcmVmZXJyZXJzIG1heSBiZSBpbnZpdGVkIHRvIGJlY29tZSBvZmZpY2lhbCBBbWJhc3NhZG9ycyDigJQgYnkgaW52aXRhdGlvbiBvbmx5Ljwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJydWxlLWljb24iPuKaoO+4jzwvc3Bhbj48c3Bhbj48c3Ryb25nPkZyYXVkID0gaW5zdGFudCBiYW4uPC9zdHJvbmc+IEZha2UgcmVmZXJyYWxzLCBzZWxmLXB1cmNoYXNlcywgb3IgZ2FtaW5nIHRoZSBzeXN0ZW0gcmVzdWx0cyBpbiBwZXJtYW5lbnQgcmVtb3ZhbC48L3NwYW4+PC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNpZ251cC1zZWN0aW9uIiBpZD0ic2lnbnVwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lnbnVwLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDI+8J+OgSBKb2luIFRoZSBSZXdhcmRzIFByb2dyYW08L2gyPgogICAgICAgICAgICAgICAgPHA+U2lnbiB1cCBhbmQgZ2V0IHlvdXIgdW5pcXVlIHJlZmVycmFsIGNvZGU8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8Zm9ybSBhY3Rpb249Imh0dHBzOi8vZm9ybXN1Ym1pdC5jby9zaG9wbG9jYWxidXNpbmVzc2FnZW5jeUBnbWFpbC5jb20iIG1ldGhvZD0iUE9TVCI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJfc3ViamVjdCIgdmFsdWU9IvCfjoEgUkVXQVJEUyBTSUdOVVAgLSBCcmFuZEhhbmRzaGFrZSI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJfdGVtcGxhdGUiIHZhbHVlPSJ0YWJsZSI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJfY2FwdGNoYSIgdmFsdWU9ImZhbHNlIj4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Il9uZXh0IiB2YWx1ZT0iaHR0cHM6Ly9icmFuZGhhbmRzaGFrZS5jb20vdGhhbmsteW91Ij4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkZvcm0gVHlwZSIgdmFsdWU9IlJld2FyZHMgUHJvZ3JhbSBTaWdudXAiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIFNFQ1VSSVRZOiBIb25leXBvdCBmb3IgYm90IGRldGVjdGlvbiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTk5OTlweDtvcGFjaXR5OjA7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuOyIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJfaG9uZXlwb3QiIHRhYmluZGV4PSItMSIgYXV0b2NvbXBsZXRlPSJvZmYiPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWw+RnVsbCBOYW1lIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj48L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJGdWxsIE5hbWUiIHJlcXVpcmVkIHBsYWNlaG9sZGVyPSJZb3VyIGZ1bGwgbmFtZSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsPkVtYWlsIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj48L2xhYmVsPjxpbnB1dCB0eXBlPSJlbWFpbCIgbmFtZT0iRW1haWwiIHJlcXVpcmVkIHBsYWNlaG9sZGVyPSJ5b3VyQGVtYWlsLmNvbSI+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWw+UGhvbmUgLyBXaGF0c0FwcCA8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+PC9sYWJlbD48aW5wdXQgdHlwZT0idGVsIiBuYW1lPSJQaG9uZSIgcmVxdWlyZWQgcGxhY2Vob2xkZXI9IisyNTYgb3IgKzI1NCBvciArMS4uLiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsPkNvdW50cnk8L2xhYmVsPjxzZWxlY3QgbmFtZT0iQ291bnRyeSI+PG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3QgeW91ciBjb3VudHJ5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iVWdhbmRhIj7wn4e68J+HrCBVZ2FuZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJLZW55YSI+8J+HsPCfh6ogS2VueWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJUYW56YW5pYSI+8J+HufCfh78gVGFuemFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJSd2FuZGEiPvCfh7fwn4e8IFJ3YW5kYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Ik5pZ2VyaWEiPvCfh7Pwn4esIE5pZ2VyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJTb3V0aCBBZnJpY2EiPvCfh7/wn4emIFNvdXRoIEFmcmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkdoYW5hIj7wn4es8J+HrSBHaGFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IlVTQSI+8J+HuvCfh7ggVVNBPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iVUsiPvCfh6zwn4enIFVLPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iT3RoZXIiPk90aGVyPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbD5Zb3VyIEJyYW5kSGFuZHNoYWtlIENhcmQgVVJMIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj48L2xhYmVsPjxpbnB1dCB0eXBlPSJ1cmwiIG5hbWU9IkNhcmQgVVJMIiByZXF1aXJlZCBwbGFjZWhvbGRlcj0iaHR0cHM6Ly95b3VybmFtZS5icmFuZGhhbmRzaGFrZS5jb20iPjxzbWFsbD5Zb3UgbXVzdCBoYXZlIGEgQnJhbmRIYW5kc2hha2UgY2FyZCB0byBqb2luIHRoZSByZXdhcmRzIHByb2dyYW08L3NtYWxsPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsPkFtYmFzc2Fkb3IgQ29kZSAoaWYgcmVmZXJyZWQgYnkgc29tZW9uZSk8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJBbWJhc3NhZG9yIENvZGUiIHBsYWNlaG9sZGVyPSJlLmcuLCBEQVZJUzIwMjYsIE9TQ0FSLUtFIj48c21hbGw+RW50ZXIgdGhlIGNvZGUgaWYgYSBmcmllbmQgb3IgYW1iYXNzYWRvciByZWZlcnJlZCB5b3U8L3NtYWxsPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsPkhvdyBEaWQgWW91IEhlYXIgQWJvdXQgVGhlIFJld2FyZHMgUHJvZ3JhbT88L2xhYmVsPjxzZWxlY3QgbmFtZT0iUmVmZXJyYWwgU291cmNlIj48b3B0aW9uIHZhbHVlPSIiPlNlbGVjdCBhbiBvcHRpb248L29wdGlvbj48b3B0aW9uIHZhbHVlPSJNeSBDYXJkIFBhZ2UiPk15IEJyYW5kSGFuZHNoYWtlIENhcmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJGcmllbmQvRmFtaWx5Ij5GcmllbmQgb3IgRmFtaWx5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iU29jaWFsIE1lZGlhIj5Tb2NpYWwgTWVkaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJXaGF0c0FwcCBHcm91cCI+V2hhdHNBcHAgR3JvdXA8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJBbWJhc3NhZG9yIj5BbWJhc3NhZG9yIFJlZmVycmFsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iT3RoZXIiPk90aGVyPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48ZGl2IGNsYXNzPSJjaGVja2JveC1ncm91cCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0idGVybXMiIG5hbWU9IkFncmVlZCB0byBUZXJtcyIgdmFsdWU9IlllcyIgcmVxdWlyZWQ+PGxhYmVsIGZvcj0idGVybXMiPkkgdW5kZXJzdGFuZCB0aGlzIHByb2dyYW0gb2ZmZXJzIDxzdHJvbmc+cHJvZHVjdCByZXdhcmRzIG9ubHk8L3N0cm9uZz4gKG5vIGNhc2gpLiBJIGFncmVlIHRvIHRoZSBydWxlcyBhYm92ZSBhbmQgdW5kZXJzdGFuZCByZXdhcmRzIGFyZSBkaXN0cmlidXRlZCB2aWEgbW9udGhseSBsb3R0ZXJ5IHdpdGggbGltaXRlZCBzbG90cy48L2xhYmVsPjwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJzdWJtaXQtYnRuIj7wn5qAIEpvaW4gJiBHZXQgTXkgQ29kZTwvYnV0dG9uPgogICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIAogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkLWZpcnN0LXNlY3Rpb24iPgogICAgICAgICAgICA8cD5Eb24ndCBoYXZlIGEgQnJhbmRIYW5kc2hha2UgY2FyZCB5ZXQ/IEdldCB5b3VycyBmaXJzdCB0byBqb2luIHRoZSByZXdhcmRzIHByb2dyYW0hPC9wPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2JyYW5kaGFuZHNoYWtlLmNvbS9kZXNpZ24tbmV4dHN0ZXBzIiBjbGFzcz0iY2FyZC1maXJzdC1saW5rIj48c3Bhbj7inKg8L3NwYW4+IEdldCBZb3VyIENhcmQgRmlyc3Q8L2E+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIAogICAgICAgIDxmb290ZXIgY2xhc3M9ImZvb3RlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1icmFuZCI+8J+knSBCcmFuZEhhbmRzaGFrZTwvZGl2PgogICAgICAgICAgICA8cD5EaWdpdGFsIEJ1c2luZXNzIENhcmRzIGZvciB0aGUgTW9kZXJuIFByb2Zlc3Npb25hbDwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLWxpbmtzIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vYnJhbmRoYW5kc2hha2UuY29tIj5Ib21lPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9icmFuZGhhbmRzaGFrZS5jb20vZGVzaWduLW5leHRzdGVwcyI+R2V0IEEgQ2FyZDwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmlydHVhbC5oYW5kc2hha2UuYWZyaWNhIj5Db3Jwb3JhdGUgQ2FyZHM8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMTVweDsiPsKpIDIwMjYgTXVrYXNhIFZlbnR1cmUgUGFydG5lcnMgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvcD4KICAgICAgICA8L2Zvb3Rlcj4KICAgIDwvZGl2PgogICAgCiAgICA8c2NyaXB0PgogICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVRpbWVyKCkgewogICAgICAgICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpOwogICAgICAgICAgICBjb25zdCBlbmRPZk1vbnRoID0gbmV3IERhdGUobm93LmdldEZ1bGxZZWFyKCksIG5vdy5nZXRNb250aCgpICsgMSwgMCwgMjMsIDU5LCA1OSk7CiAgICAgICAgICAgIGNvbnN0IGRpZmYgPSBlbmRPZk1vbnRoIC0gbm93OwogICAgICAgICAgICBjb25zdCBkYXlzID0gTWF0aC5mbG9vcihkaWZmIC8gKDEwMDAgKiA2MCAqIDYwICogMjQpKTsKICAgICAgICAgICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKChkaWZmICUgKDEwMDAgKiA2MCAqIDYwICogMjQpKSAvICgxMDAwICogNjAgKiA2MCkpOwogICAgICAgICAgICBjb25zdCBtaW5zID0gTWF0aC5mbG9vcigoZGlmZiAlICgxMDAwICogNjAgKiA2MCkpIC8gKDEwMDAgKiA2MCkpOwogICAgICAgICAgICBjb25zdCBzZWNzID0gTWF0aC5mbG9vcigoZGlmZiAlICgxMDAwICogNjApKSAvIDEwMDApOwogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF5cycpLnRleHRDb250ZW50ID0gZGF5cy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3VycycpLnRleHRDb250ZW50ID0gaG91cnMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpOwogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWlucycpLnRleHRDb250ZW50ID0gbWlucy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWNzJykudGV4dENvbnRlbnQgPSBzZWNzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTsKICAgICAgICB9CiAgICAgICAgdXBkYXRlVGltZXIoKTsKICAgICAgICBzZXRJbnRlcnZhbCh1cGRhdGVUaW1lciwgMTAwMCk7CiAgICAgICAgCiAgICAgICAgLy8gPT09PT09PT09PSBSRUYgUEFSQU1FVEVSIEhBTkRMSU5HID09PT09PT09PT0KICAgICAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7CiAgICAgICAgICAgIGNvbnN0IHJlZiA9IHVybFBhcmFtcy5nZXQoJ3JlZicpOwogICAgICAgICAgICAKICAgICAgICAgICAgaWYgKHJlZikgewogICAgICAgICAgICAgICAgLy8gQW1iYXNzYWRvciBjb2RlIG1hcHBpbmcKICAgICAgICAgICAgICAgIGNvbnN0IGNvZGVNYXAgPSB7CiAgICAgICAgICAgICAgICAgICAgJ2FpYnl0ZXMnOiAnREFWSVMyMDI2JywKICAgICAgICAgICAgICAgICAgICAnYWlob3Jpem9ucyc6ICdPU0NBUi1LRScsCiAgICAgICAgICAgICAgICAgICAgJ2FpZ2VuaXVzJzogJ1RFTkRPMjAyNicsCiAgICAgICAgICAgICAgICAgICAgJ2Fpbm92YSc6ICdFWlJBMjAyNicsCiAgICAgICAgICAgICAgICAgICAgJ3Jvb3RzJzogJ0pPWUNFLVJPT1RTJywKICAgICAgICAgICAgICAgICAgICAnY2FzZWhvc3BpdGFsJzogJ0VWRUxZTi1DQVNFJwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgLy8gQXV0by1maWxsIGFtYmFzc2Fkb3IgY29kZSBmaWVsZAogICAgICAgICAgICAgICAgY29uc3QgY29kZUZpZWxkID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT0iQW1iYXNzYWRvciBDb2RlIl0nKTsKICAgICAgICAgICAgICAgIGlmIChjb2RlRmllbGQgJiYgY29kZU1hcFtyZWZdKSB7CiAgICAgICAgICAgICAgICAgICAgY29kZUZpZWxkLnZhbHVlID0gY29kZU1hcFtyZWZdOwogICAgICAgICAgICAgICAgICAgIGNvZGVGaWVsZC5yZWFkT25seSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgY29kZUZpZWxkLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICdyZ2JhKDE2LCAxODUsIDEyOSwgMC4xKSc7CiAgICAgICAgICAgICAgICAgICAgY29kZUZpZWxkLnN0eWxlLmJvcmRlckNvbG9yID0gJyMxMGI5ODEnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAvLyBBZGQgaGlkZGVuIGZpZWxkIHRvIHRyYWNrIHJlZiBpbiBmb3JtIHN1Ym1pc3Npb24KICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZm9ybScpOwogICAgICAgICAgICAgICAgZm9ybXMuZm9yRWFjaChmb3JtID0+IHsKICAgICAgICAgICAgICAgICAgICBjb25zdCByZWZJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CiAgICAgICAgICAgICAgICAgICAgcmVmSW5wdXQudHlwZSA9ICdoaWRkZW4nOwogICAgICAgICAgICAgICAgICAgIHJlZklucHV0Lm5hbWUgPSAnUmVmZXJyZWQgQnknOwogICAgICAgICAgICAgICAgICAgIHJlZklucHV0LnZhbHVlID0gcmVmOwogICAgICAgICAgICAgICAgICAgIGZvcm0uYXBwZW5kQ2hpbGQocmVmSW5wdXQpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgICAgIC8vID09PT09PT09PT0gRU5EIFJFRiBIQU5ETElORyA9PT09PT09PT09CiAgICAgICAgCiAgICAgICAgLy8gPT09PT09PT09PSBCUkFOREhBTkRTSEFLRSBTRUNVUklUWSBTVUlURSA9PT09PT09PT09CiAgICAgICAgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAndXNlIHN0cmljdCc7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCclY/Cfm5EgU1RPUCEnLCAnY29sb3I6IHJlZDsgZm9udC1zaXplOiA1MHB4OyBmb250LXdlaWdodDogYm9sZDsnKTsKICAgICAgICAgICAgY29uc29sZS5sb2coJyVj4pqg77iPIFByb3RlY3RlZCBJUCBvZiBNdWthc2EgVmVudHVyZSBQYXJ0bmVycyBMTEMuJywgJ2NvbG9yOiBvcmFuZ2U7IGZvbnQtc2l6ZTogMTZweDsnKTsKICAgICAgICAgICAgY29uc29sZS5sb2coJyVjwqkgMjAyNiBCcmFuZEhhbmRzaGFrZSAtIEFsbCBSaWdodHMgUmVzZXJ2ZWQnLCAnY29sb3I6ICNENEFGMzc7IGZvbnQtc2l6ZTogMTJweDsnKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgaWYgKGUudGFyZ2V0LnRhZ05hbWUgPT09ICdJTUcnKSB7IGUucHJldmVudERlZmF1bHQoKTsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgaWYgKGUuY3RybEtleSAmJiAoZS5rZXkgPT09ICd1JyB8fCBlLmtleSA9PT0gJ1UnIHx8IGUua2V5ID09PSAncycgfHwgZS5rZXkgPT09ICdTJykpIHsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7IHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGlmICghc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnYmhfc2Vzc2lvbl9pZCcpKSB7CiAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdiaF9zZXNzaW9uX2lkJywgJ0JILScgKyBEYXRlLm5vdygpICsgJy0nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdmb3JtJykuZm9yRWFjaChmdW5jdGlvbihmb3JtKSB7CiAgICAgICAgICAgICAgICB2YXIgdHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwogICAgICAgICAgICAgICAgdHMudHlwZSA9ICdoaWRkZW4nOyB0cy5uYW1lID0gJ19mb3JtX2xvYWRlZCc7IHRzLnZhbHVlID0gRGF0ZS5ub3coKTsKICAgICAgICAgICAgICAgIGZvcm0uYXBwZW5kQ2hpbGQodHMpOwogICAgICAgICAgICB9KTsKICAgICAgICB9KSgpOwogICAgICAgIC8vID09PT09PT09PT0gRU5EIFNFQ1VSSVRZID09PT09PT09PT0KICAgIDwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=","embed":""}
π
β
π
π
β¨
π€ BrandHandshake
π Rewards Program
Refer & Earn Free Upgrades
"Share BrandHandshake with friends and unlock premium features, QR codes, videos, hosting, and more β absolutely free!"
π° Monthly Rewards Lottery β Limited Slots!
15
Days
08
Hours
42
Mins
17
Secs
β‘ Only 50 reward slots available this month. Sign up before the timer runs out!
How It Works
Simple steps to start earning free upgrades
1
π
Get Your Code
Sign up and receive your unique Ambassador referral code to share.
2
π€
Share & Refer
Share your code with friends who need a digital business card.
3
β
They Purchase
When they buy using your code, we track your referral automatically.
4
π
Unlock Rewards
Hit referral milestones and claim free upgrades for your card!
Rewards Tiers
More referrals = Better rewards. No cash β just real value!
Starter
π₯
Bronze
3-9 Referrals
- β Basic QR Code
- β +1 Social Link
- β Referral Dashboard
Growing
π₯
Silver
10-24 Referrals
- β Branded QR Code
- β 10-sec Video
- β +3 Social Links
- β 1 Month Free Hosting
Elite
π₯
Gold
25-49 Referrals
- β Custom QR + Image
- β 30-sec Video
- β +5 Social Links
- β Banner Ad Set (3ch)
- β 6 Months Hosting
VIP
π
Diamond
50+ Referrals
- β Premium QR + Logo
- β 60-sec Video
- β Unlimited Socials
- β Banner Ads (5ch)
- β 1 Year Free Hosting
- β Free Domain (1yr)
What You Can Earn
Real upgrades for your digital business card
π±
QR Codes
Plain β Image β Branded β Logo
π¬
Video Intros
10s β 30s β 60s
π
Social Links
+1 β +3 β +5 β Unlimited
πΌοΈ
Banner Ads
3 channels β 5 channels
π
Free Hosting
1mo β 3mo β 6mo β 1yr
π·οΈ
Free Domain
Custom yourname.com (1yr)
Important Rules
Please read before joining
- π«You must have a BrandHandshake card to participate in the rewards program. Get your card first!
- β Verified purchases only. Referrals are counted when your friend completes a purchase using your code.
- π°Monthly lottery system. Rewards are distributed through a monthly lottery with limited slots to ensure fairness.
- β°Rewards expire. Unclaimed rewards expire 90 days after earning. Claim them promptly!
- π«No cash payouts. This program offers product upgrades only β no monetary commissions.
- π€Ambassador status requires approval. High referrers may be invited to become official Ambassadors β by invitation only.
- β οΈFraud = instant ban. Fake referrals, self-purchases, or gaming the system results in permanent removal.
π Join The Rewards Program
Sign up and get your unique referral code
Don't have a BrandHandshake card yet? Get yours first to join the rewards program!
β¨ Get Your Card First