cropper

VIRTUAL HANDSHAKE AFRICA

  • Home
  • Discover
  • Gallery
  • Pricing
  • Contact Us
  • About Us
  • Oder Essential
  • Order Essential
  • Order Professional
  • Digital Empire
  • Thank You
  • Order Group
  • Order Bundles
{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KICA8dGl0bGU+VGhhbmsgWW91ISBDaGVjayBZb3VyIEVtYWlsIHwgSGFuZHNoYWtlLmFmcmljYTwvdGl0bGU+CiAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IllvdXIgZnJlZSByZXNvdXJjZSBpcyBvbiB0aGUgd2F5ISBDaGVjayB5b3VyIGVtYWlsIGFuZCBjb25maXJtIHlvdXIgc3Vic2NyaXB0aW9uIHRvIHVubG9jayB5b3VyIGRpZ2l0YWwgc292ZXJlaWdudHkgdG9vbGtpdC4iPgogIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCwgbm9mb2xsb3ciPgogIAogIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SW50ZXI6d2dodEAzMDA7NDAwOzYwMDs3MDA7ODAwOzkwMCZmYW1pbHk9UGxheWZhaXIrRGlzcGxheTp3Z2h0QDcwMDs5MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgogIAogIDxzdHlsZT4KICAgIDpyb290IHsKICAgICAgLS1uYXZ5OiAjMDAxRjNGOwogICAgICAtLXJveWFsLWJsdWU6ICMwMDQ3QUI7CiAgICAgIC0tZ29sZDogI0ZGRDcwMDsKICAgICAgLS1nb2xkLXdhcm06ICNGRkMxMDc7CiAgICAgIC0td2hpdGU6ICNGRkZGRkY7CiAgICAgIC0tbGlnaHQtYmc6ICNGN0Y5RkM7CiAgICAgIC0tZ3JheTogIzZCNzI4MDsKICAgICAgLS10ZWFsOiAjMDBDOUE3OwogICAgICAtLW9yYW5nZTogI0ZGNkIzNTsKICAgICAgLS1wdXJwbGU6ICM3QjY4RUU7CiAgICAgIC0tZ3JlZW46ICM1MUNGNjY7CiAgICB9CiAgICAKICAgICogewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICB9CiAgICAKICAgIGJvZHkgewogICAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWJnKTsKICAgIH0KICAgIAogICAgaDEsIGgyLCBoMyB7CiAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICBmb250LXdlaWdodDogOTAwOwogICAgICBsaW5lLWhlaWdodDogMS4yOwogICAgfQogICAgCiAgICAvKiBOQVZJR0FUSU9OICovCiAgICAubmF2IHsKICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICB0b3A6IDA7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDMxLCA2MywgMC45OCk7CiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTsKICAgICAgei1pbmRleDogMTAwMDsKICAgICAgcGFkZGluZzogMXJlbSAycmVtOwogICAgICBib3gtc2hhZG93OiAwIDJweCAyMHB4IHJnYmEoMCwwLDAsMC4xKTsKICAgIH0KICAgIAogICAgLm5hdi1jb250YWluZXIgewogICAgICBtYXgtd2lkdGg6IDE0MDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIH0KICAgIAogICAgLmxvZ28gewogICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgfQogICAgCiAgICAubmF2LWxpbmtzIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAycmVtOwogICAgICBsaXN0LXN0eWxlOiBub25lOwogICAgfQogICAgCiAgICAubmF2LWxpbmtzIGEgewogICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICB9CiAgICAKICAgIC5uYXYtbGlua3MgYTpob3ZlciB7CiAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgIH0KICAgIAogICAgLyogSEVSTyAtIENFTEVCUkFUSU9OICovCiAgICAuaGVybyB7CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS10ZWFsKSAwJSwgdmFyKC0tZ3JlZW4pIDEwMCUpOwogICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICBwYWRkaW5nOiAxNDBweCAycmVtIDgwcHg7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIH0KICAgIAogICAgLyogQ29uZmV0dGkgYW5pbWF0aW9uICovCiAgICAuY29uZmV0dGkgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHdpZHRoOiAxMHB4OwogICAgICBoZWlnaHQ6IDEwcHg7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdvbGQpOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGFuaW1hdGlvbjogY29uZmV0dGktZmFsbCAzcyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CiAgICAKICAgIEBrZXlmcmFtZXMgY29uZmV0dGktZmFsbCB7CiAgICAgIHRvIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpIHJvdGF0ZSgzNjBkZWcpOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgIH0KICAgIH0KICAgIAogICAgLyogRmxvYXRpbmcgY2VsZWJyYXRpb24gZWxlbWVudHMgKi8KICAgIC5jZWxlYnJhdGlvbi1vcmIgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgZmlsdGVyOiBibHVyKDYwcHgpOwogICAgICBvcGFjaXR5OiAwLjM7CiAgICAgIGFuaW1hdGlvbjogZmxvYXQgMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgfQogICAgCiAgICAub3JiMSB7CiAgICAgIHdpZHRoOiA0MDBweDsKICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7CiAgICAgIHRvcDogLTEwMHB4OwogICAgICBsZWZ0OiAtMTAwcHg7CiAgICB9CiAgICAKICAgIC5vcmIyIHsKICAgICAgd2lkdGg6IDM1MHB4OwogICAgICBoZWlnaHQ6IDM1MHB4OwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7CiAgICAgIGJvdHRvbTogLTEwMHB4OwogICAgICByaWdodDogLTEwMHB4OwogICAgICBhbmltYXRpb24tZGVsYXk6IDVzOwogICAgfQogICAgCiAgICBAa2V5ZnJhbWVzIGZsb2F0IHsKICAgICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfQogICAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MHB4LCAtNTBweCk7IH0KICAgIH0KICAgIAogICAgLmhlcm8tY29udGFpbmVyIHsKICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHotaW5kZXg6IDI7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIH0KICAgIAogICAgLnN1Y2Nlc3MtaWNvbiB7CiAgICAgIGZvbnQtc2l6ZTogOHJlbTsKICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgICAgYW5pbWF0aW9uOiBib3VuY2UgMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgICB9CiAgICAKICAgIEBrZXlmcmFtZXMgYm91bmNlIHsKICAgICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfQogICAgfQogICAgCiAgICAuaGVybyBoMSB7CiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMi41cmVtLCA4dncsIDVyZW0pOwogICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07CiAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMC44cyBlYXNlLW91dDsKICAgIH0KICAgIAogICAgQGtleWZyYW1lcyBmYWRlSW5VcCB7CiAgICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7IH0KICAgICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgIH0KICAgIAogICAgLmhlcm8tc3VidGl0bGUgewogICAgICBmb250LXNpemU6IGNsYW1wKDEuMnJlbSwgM3Z3LCAxLjhyZW0pOwogICAgICBsaW5lLWhlaWdodDogMS43OwogICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICBtYXJnaW46IDAgYXV0byAzcmVtOwogICAgICBvcGFjaXR5OiAwLjk1OwogICAgICBhbmltYXRpb246IGZhZGVJblVwIDAuOHMgZWFzZS1vdXQgMC4ycyBiYWNrd2FyZHM7CiAgICB9CiAgICAKICAgIC8qIE5FWFQgU1RFUFMgU0VDVElPTiAqLwogICAgLm5leHQtc3RlcHMgewogICAgICBwYWRkaW5nOiAxMDBweCAycmVtOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7CiAgICB9CiAgICAKICAgIC5uZXh0LXN0ZXBzLWNvbnRhaW5lciB7CiAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KICAgIAogICAgLnNlY3Rpb24taGVhZGVyIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBtYXJnaW4tYm90dG9tOiA1cmVtOwogICAgfQogICAgCiAgICAuc2VjdGlvbi1iYWRnZSB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgcGFkZGluZzogMC41cmVtIDEuNXJlbTsKICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDIwMSwxNjcsMC4xKTsKICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tdGVhbCk7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4OwogICAgICBjb2xvcjogdmFyKC0tdGVhbCk7CiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsKICAgIH0KICAgIAogICAgLnNlY3Rpb24taGVhZGVyIGgyIHsKICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjVyZW0sIDZ2dywgNHJlbSk7CiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgfQogICAgCiAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOwogICAgICBjb2xvcjogdmFyKC0tZ3JheSk7CiAgICAgIG1heC13aWR0aDogNzAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICBsaW5lLWhlaWdodDogMS44OwogICAgfQogICAgCiAgICAuc3RlcHMtZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzAwcHgsIDFmcikpOwogICAgICBnYXA6IDNyZW07CiAgICAgIG1hcmdpbi10b3A6IDRyZW07CiAgICB9CiAgICAKICAgIC5zdGVwLWNhcmQgewogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1saWdodC1iZykgMCUsIHZhcigtLXdoaXRlKSAxMDAlKTsKICAgICAgcGFkZGluZzogM3JlbTsKICAgICAgYm9yZGVyLXJhZGl1czogMzBweDsKICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDQwcHggcmdiYSgwLDAsMCwwLjA4KTsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB0cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIH0KICAgIAogICAgLnN0ZXAtY2FyZDo6YmVmb3JlIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICBsZWZ0OiAwOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tdGVhbCksIHZhcigtLWdyZWVuKSwgdmFyKC0tZ29sZCkpOwogICAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMCAwOwogICAgfQogICAgCiAgICAuc3RlcC1jYXJkOmhvdmVyIHsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsKICAgICAgYm94LXNoYWRvdzogMCAyMHB4IDYwcHggcmdiYSgwLDAsMCwwLjE1KTsKICAgIH0KICAgIAogICAgLnN0ZXAtbnVtYmVyIHsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB3aWR0aDogNjBweDsKICAgICAgaGVpZ2h0OiA2MHB4OwogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS10ZWFsKSAwJSwgdmFyKC0tZ3JlZW4pIDEwMCUpOwogICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgICAgZm9udC13ZWlnaHQ6IDkwMDsKICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7CiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsKICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICB9CiAgICAKICAgIC5zdGVwLWNhcmQgaDMgewogICAgICBmb250LXNpemU6IDEuOHJlbTsKICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgfQogICAgCiAgICAuc3RlcC1jYXJkIHAgewogICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgbGluZS1oZWlnaHQ6IDEuODsKICAgICAgY29sb3I6IHZhcigtLWdyYXkpOwogICAgfQogICAgCiAgICAuc3RlcC1jYXJkIHN0cm9uZyB7CiAgICAgIGNvbG9yOiB2YXIoLS10ZWFsKTsKICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgIH0KICAgIAogICAgLyogU0VDVVJJVFkgTk9USUNFICovCiAgICAuc2VjdXJpdHktbm90aWNlIHsKICAgICAgYmFja2dyb3VuZDogcmdiYSgxMjMsMTA0LDIzOCwwLjA4KTsKICAgICAgcGFkZGluZzogMi41cmVtOwogICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLXB1cnBsZSk7CiAgICAgIG1hcmdpbi10b3A6IDRyZW07CiAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87CiAgICB9CiAgICAKICAgIC5zZWN1cml0eS1ub3RpY2UgaDQgewogICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgY29sb3I6IHZhcigtLXB1cnBsZSk7CiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogMC43NXJlbTsKICAgIH0KICAgIAogICAgLnNlY3VyaXR5LW5vdGljZSBwIHsKICAgICAgZm9udC1zaXplOiAxLjFyZW07CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICAgIGNvbG9yOiB2YXIoLS1uYXZ5KTsKICAgIH0KICAgIAogICAgLnNlY3VyaXR5LW5vdGljZSB1bCB7CiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICAgIG1hcmdpbi10b3A6IDFyZW07CiAgICB9CiAgICAKICAgIC5zZWN1cml0eS1ub3RpY2UgbGkgewogICAgICBwYWRkaW5nOiAwLjVyZW0gMDsKICAgICAgY29sb3I6IHZhcigtLWdyYXkpOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDAuNzVyZW07CiAgICB9CiAgICAKICAgIC5zZWN1cml0eS1ub3RpY2UgbGk6OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICfinJMnOwogICAgICBjb2xvcjogdmFyKC0tdGVhbCk7CiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOwogICAgfQogICAgCiAgICAvKiBXSElMRSBZT1UgV0FJVCBTRUNUSU9OICovCiAgICAud2hpbGUtd2FpdCB7CiAgICAgIHBhZGRpbmc6IDEwMHB4IDJyZW07CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWJnKTsKICAgIH0KICAgIAogICAgLndoaWxlLXdhaXQtY29udGFpbmVyIHsKICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQogICAgCiAgICAuZXhwbG9yZS1ncmlkIHsKICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMjBweCwgMWZyKSk7CiAgICAgIGdhcDogM3JlbTsKICAgICAgbWFyZ2luLXRvcDogNHJlbTsKICAgIH0KICAgIAogICAgLmV4cGxvcmUtY2FyZCB7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTsKICAgICAgcGFkZGluZzogM3JlbTsKICAgICAgYm9yZGVyLXJhZGl1czogMzBweDsKICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDQwcHggcmdiYSgwLDAsMCwwLjA4KTsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB0cmFuc2l0aW9uOiBhbGwgMC40czsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQogICAgCiAgICAuZXhwbG9yZS1jYXJkOjphZnRlciB7CiAgICAgIGNvbnRlbnQ6ICcnOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogLTUwJTsKICAgICAgcmlnaHQ6IC01MCU7CiAgICAgIHdpZHRoOiAyMDAlOwogICAgICBoZWlnaHQ6IDIwMCU7CiAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMCwyMDEsMTY3LDAuMSkgMCUsIHRyYW5zcGFyZW50IDcwJSk7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40czsKICAgIH0KICAgIAogICAgLmV4cGxvcmUtY2FyZDpob3Zlcjo6YWZ0ZXIgewogICAgICBvcGFjaXR5OiAxOwogICAgfQogICAgCiAgICAuZXhwbG9yZS1jYXJkOmhvdmVyIHsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KSByb3RhdGUoMmRlZyk7CiAgICAgIGJveC1zaGFkb3c6IDAgMjVweCA3MHB4IHJnYmEoMCwwLDAsMC4xNSk7CiAgICB9CiAgICAKICAgIC5leHBsb3JlLWljb24gewogICAgICBmb250LXNpemU6IDRyZW07CiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsKICAgICAgYW5pbWF0aW9uOiBmbG9hdCAzcyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgIH0KICAgIAogICAgQGtleWZyYW1lcyBmbG9hdCB7CiAgICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9CiAgICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH0KICAgIH0KICAgIAogICAgLmV4cGxvcmUtY2FyZCBoMyB7CiAgICAgIGZvbnQtc2l6ZTogMS44cmVtOwogICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOwogICAgICBjb2xvcjogdmFyKC0tbmF2eSk7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgei1pbmRleDogMjsKICAgIH0KICAgIAogICAgLmV4cGxvcmUtY2FyZCBwIHsKICAgICAgZm9udC1zaXplOiAxLjFyZW07CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICAgIGNvbG9yOiB2YXIoLS1ncmF5KTsKICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB6LWluZGV4OiAyOwogICAgfQogICAgCiAgICAuYnRuLWV4cGxvcmUgewogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIHBhZGRpbmc6IDEuMXJlbSAyLjVyZW07CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLW5hdnkpIDAlLCB2YXIoLS1yb3lhbC1ibHVlKSAxMDAlKTsKICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB6LWluZGV4OiAyOwogICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsMzEsNjMsMC4yKTsKICAgIH0KICAgIAogICAgLmJ0bi1leHBsb3JlOmhvdmVyIHsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDQwcHggcmdiYSgwLDMxLDYzLDAuNCk7CiAgICB9CiAgICAKICAgIC8qIEFERElUSU9OQUwgU0lHTlVQIFNFQ1RJT04gKi8KICAgIC5hZGRpdGlvbmFsLXNpZ251cCB7CiAgICAgIHBhZGRpbmc6IDEwMHB4IDJyZW07CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXB1cnBsZSkgMCUsIHZhcigtLXJveWFsLWJsdWUpIDEwMCUpOwogICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CiAgICAKICAgIC5hZGRpdGlvbmFsLXNpZ251cDo6YmVmb3JlIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMzAiIGN5PSIzMCIgcj0iMiIgZmlsbD0icmdiYSgyNTUsMjE1LDAsMC4xKSIvPjwvc3ZnPicpOwogICAgICBvcGFjaXR5OiAwLjM7CiAgICB9CiAgICAKICAgIC5zaWdudXAtY29udGFpbmVyIHsKICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgei1pbmRleDogMjsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQogICAgCiAgICAuYWRkaXRpb25hbC1zaWdudXAgaDIgewogICAgICBmb250LXNpemU6IGNsYW1wKDIuNXJlbSwgNnZ3LCA0cmVtKTsKICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOwogICAgfQogICAgCiAgICAuYWRkaXRpb25hbC1zaWdudXAgcCB7CiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOwogICAgICBvcGFjaXR5OiAwLjk1OwogICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOwogICAgICBsaW5lLWhlaWdodDogMS44OwogICAgfQogICAgCiAgICAvKiDirIfvuI/irIfvuI/irIfvuI8gU0VDT05EQVJZIEZPUk0gRU1CRUQgWk9ORSDirIfvuI/irIfvuI/irIfvuI8gKi8KICAgIC5zZWNvbmRhcnktZm9ybS16b25lIHsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjEpOwogICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7CiAgICAgIGJvcmRlcjogM3B4IGRhc2hlZCB2YXIoLS1nb2xkKTsKICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgICAgcGFkZGluZzogM3JlbTsKICAgICAgbWluLWhlaWdodDogMzAwcHg7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgfQogICAgCiAgICAuZW1iZWQtYXJyb3dzIHsKICAgICAgZm9udC1zaXplOiAzcmVtOwogICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgIG1hcmdpbjogMXJlbSAwOwogICAgICBhbmltYXRpb246IGJvdW5jZSAycyBpbmZpbml0ZTsKICAgIH0KICAgIAogICAgQGtleWZyYW1lcyBib3VuY2UgewogICAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQogICAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpOyB9CiAgICB9CiAgICAKICAgIC5zZWNvbmRhcnktZm9ybS16b25lIGgzIHsKICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgIH0KICAgIAogICAgLnNlY29uZGFyeS1mb3JtLXpvbmUgcCB7CiAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgbWF4LXdpZHRoOiA2MDBweDsKICAgIH0KICAgIAogICAgLyogQ09OU1VMVEFUSU9OIENUQSAqLwogICAgLmNvbnN1bHRhdGlvbiB7CiAgICAgIHBhZGRpbmc6IDEwMHB4IDJyZW07CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdvbGQpIDAlLCB2YXIoLS1nb2xkLXdhcm0pIDEwMCUpOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB9CiAgICAKICAgIC5jb25zdWx0YXRpb24tY29udGFpbmVyIHsKICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CiAgICAKICAgIC5jb25zdWx0YXRpb24gaDIgewogICAgICBmb250LXNpemU6IGNsYW1wKDIuNXJlbSwgNnZ3LCA0cmVtKTsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07CiAgICB9CiAgICAKICAgIC5jb25zdWx0YXRpb24gcCB7CiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOwogICAgICBjb2xvcjogdmFyKC0tbmF2eSk7CiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07CiAgICAgIG9wYWNpdHk6IDAuOTsKICAgIH0KICAgIAogICAgLmJ0bi1jb25zdWx0YXRpb24gewogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIHBhZGRpbmc6IDEuNXJlbSA0cmVtOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1uYXZ5KTsKICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICBib3JkZXItcmFkaXVzOiA1MHB4OwogICAgICBmb250LXdlaWdodDogOTAwOwogICAgICBmb250LXNpemU6IDEuM3JlbTsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsKICAgICAgYm94LXNoYWRvdzogMCAyMHB4IDUwcHggcmdiYSgwLDMxLDYzLDAuMyk7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KICAgIAogICAgLmJ0bi1jb25zdWx0YXRpb246OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICcnOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogNTAlOwogICAgICBsZWZ0OiA1MCU7CiAgICAgIHdpZHRoOiAwOwogICAgICBoZWlnaHQ6IDA7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjE1LDAsMC4zKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMsIGhlaWdodCAwLjZzOwogICAgfQogICAgCiAgICAuYnRuLWNvbnN1bHRhdGlvbjpob3Zlcjo6YmVmb3JlIHsKICAgICAgd2lkdGg6IDQwMHB4OwogICAgICBoZWlnaHQ6IDQwMHB4OwogICAgfQogICAgCiAgICAuYnRuLWNvbnN1bHRhdGlvbiBzcGFuIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB6LWluZGV4OiAxOwogICAgfQogICAgCiAgICAuYnRuLWNvbnN1bHRhdGlvbjpob3ZlciB7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KSBzY2FsZSgxLjA1KTsKICAgICAgYm94LXNoYWRvdzogMCAzMHB4IDcwcHggcmdiYSgwLDMxLDYzLDAuNSk7CiAgICB9CiAgICAKICAgIC8qIEZPT1RFUiAqLwogICAgLmZvb3RlciB7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLW5hdnkpOwogICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICBwYWRkaW5nOiA2MHB4IDJyZW0gMjBweDsKICAgIH0KICAgIAogICAgLmZvb3Rlci1jb250YWluZXIgewogICAgICBtYXgtd2lkdGg6IDE0MDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CiAgICAKICAgIC5mb290ZXItZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpOwogICAgICBnYXA6IDNyZW07CiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07CiAgICB9CiAgICAKICAgIC5mb290ZXItY29sdW1uIGg0IHsKICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOwogICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIH0KICAgIAogICAgLmZvb3Rlci1jb2x1bW4gdWwgewogICAgICBsaXN0LXN0eWxlOiBub25lOwogICAgfQogICAgCiAgICAuZm9vdGVyLWNvbHVtbiB1bCBsaSB7CiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07CiAgICB9CiAgICAKICAgIC5mb290ZXItY29sdW1uIGEgewogICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgICB9CiAgICAKICAgIC5mb290ZXItY29sdW1uIGE6aG92ZXIgewogICAgICBvcGFjaXR5OiAxOwogICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgIHBhZGRpbmctbGVmdDogNXB4OwogICAgfQogICAgCiAgICAuZm9vdGVyLWJvdHRvbSB7CiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyMTUsMCwwLjMpOwogICAgICBwYWRkaW5nLXRvcDogMnJlbTsKICAgICAgbWFyZ2luLXRvcDogMnJlbTsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBmb250LXNpemU6IDAuOXJlbTsKICAgICAgb3BhY2l0eTogMC44OwogICAgfQogICAgCiAgICAuZm9vdGVyLWJvdHRvbSBhIHsKICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICB9CiAgICAKICAgIC8qIFJFU1BPTlNJVkUgKi8KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjhweCkgewogICAgICAuaGVybyB7CiAgICAgICAgbWluLWhlaWdodDogMTAwc3ZoOwogICAgICAgIHBhZGRpbmc6IDEyMHB4IDEuNXJlbSA2MHB4OwogICAgICB9CiAgICAgIAogICAgICAuc3RlcHMtZ3JpZCwKICAgICAgLmV4cGxvcmUtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgIH0KICAgICAgCiAgICAgIC5zdWNjZXNzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogNXJlbTsKICAgICAgfQogICAgfQogICAgCiAgICAvKiBTQ1JPTEwgQU5JTUFUSU9OUyAqLwogICAgLmZhZGUtaW4gewogICAgICBvcGFjaXR5OiAwOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7CiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzIGVhc2Utb3V0OwogICAgfQogICAgCiAgICAuZmFkZS1pbi52aXNpYmxlIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CgogIDwhLS0gTkFWSUdBVElPTiAtLT4KICA8bmF2IGNsYXNzPSJuYXYiPgogICAgPGRpdiBjbGFzcz0ibmF2LWNvbnRhaW5lciI+CiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaGFuZHNoYWtlLmFmcmljYS8iIGNsYXNzPSJsb2dvIj5IYW5kc2hha2UuYWZyaWNhPC9hPgogICAgICA8dWwgY2xhc3M9Im5hdi1saW5rcyI+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vaGFuZHNoYWtlLmFmcmljYS8iPkhvbWU8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9oYW5kc2hha2UuYWZyaWNhL2Rpc2NvdmVyIj5EaXNjb3ZlcjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2hhbmRzaGFrZS5hZnJpY2EvZ2FsbGVyeSI+R2FsbGVyeTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2hhbmRzaGFrZS5hZnJpY2EvcHJpY2luZyI+UHJpY2luZzwvYT48L2xpPgogICAgICA8L3VsPgogICAgPC9kaXY+CiAgPC9uYXY+CgogIDwhLS0gSEVSTyAtIENFTEVCUkFUSU9OIC0tPgogIDxzZWN0aW9uIGNsYXNzPSJoZXJvIj4KICAgIDxkaXYgY2xhc3M9ImNlbGVicmF0aW9uLW9yYiBvcmIxIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNlbGVicmF0aW9uLW9yYiBvcmIyIj48L2Rpdj4KICAgIAogICAgPCEtLSBDb25mZXR0aSAoZ2VuZXJhdGVkIHZpYSBKUykgLS0+CiAgICA8ZGl2IGlkPSJjb25mZXR0aS1jb250YWluZXIiPjwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJoZXJvLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9InN1Y2Nlc3MtaWNvbiI+8J+OiTwvZGl2PgogICAgICAKICAgICAgPGgxPllvdSdyZSBJbiEgV2VsY29tZSB0byBZb3VyIERpZ2l0YWwgU292ZXJlaWdudHkgSm91cm5leSE8L2gxPgogICAgICAKICAgICAgPHAgY2xhc3M9Imhlcm8tc3VidGl0bGUiPgogICAgICAgIFlvdXIgZnJlZSByZXNvdXJjZSBpcyBvbiBpdHMgd2F5LiBDaGVjayB5b3VyIGVtYWlsIChhbmQgc3BhbSBmb2xkZXIpIGluIHRoZSBuZXh0IGZldyBtaW51dGVzLiBPbmUgbW9yZSBxdWljayBzdGVwIHRvIHVubG9jayBldmVyeXRoaW5nLi4uCiAgICAgIDwvcD4KICAgIDwvZGl2PgogIDwvc2VjdGlvbj4KCiAgPCEtLSBORVhUIFNURVBTIC0tPgogIDxzZWN0aW9uIGNsYXNzPSJuZXh0LXN0ZXBzIj4KICAgIDxkaXYgY2xhc3M9Im5leHQtc3RlcHMtY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIgZmFkZS1pbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1iYWRnZSI+V2hhdCBIYXBwZW5zIE5leHQ8L2Rpdj4KICAgICAgICA8aDI+WW91ciAzLVN0ZXAgU3VjY2VzcyBQYXRoPC9oMj4KICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+CiAgICAgICAgICBXZSd2ZSBzZW50IHlvdSBhbiBlbWFpbC4gSGVyZSdzIGV4YWN0bHkgd2hhdCB0byBkbyBuZXh0IHRvIHVubG9jayB5b3VyIGZyZWUgcmVzb3VyY2VzIGFuZCBqb2luIG91ciBjb21tdW5pdHkuCiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InN0ZXBzLWdyaWQiPgogICAgICAgIAogICAgICAgIDwhLS0gU1RFUCAxIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtY2FyZCBmYWRlLWluIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtbnVtYmVyIj4xPC9kaXY+CiAgICAgICAgICA8aDM+Q2hlY2sgWW91ciBFbWFpbCDwn5OnPC9oMz4KICAgICAgICAgIDxwPgogICAgICAgICAgICBXZSBqdXN0IHNlbnQgeW91IGFuIGVtYWlsIHdpdGggeW91ciBmcmVlIHJlc291cmNlLiA8c3Ryb25nPkNoZWNrIHlvdXIgaW5ib3ggQU5EIHlvdXIgc3BhbSBmb2xkZXI8L3N0cm9uZz4gKHNvbWV0aW1lcyBvdXIgZW1haWxzIGxpa2UgdG8gaGlkZSB0aGVyZSkuIExvb2sgZm9yIGFuIGVtYWlsIGZyb20gPHN0cm9uZz5oZWxsb0BoYW5kc2hha2UuYWZyaWNhPC9zdHJvbmc+LgogICAgICAgICAgPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDwhLS0gU1RFUCAyIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtY2FyZCBmYWRlLWluIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtbnVtYmVyIj4yPC9kaXY+CiAgICAgICAgICA8aDM+Q29uZmlybSBZb3VyIFN1YnNjcmlwdGlvbiDwn5SSPC9oMz4KICAgICAgICAgIDxwPgogICAgICAgICAgICBDbGljayB0aGUgPHN0cm9uZz4iWWVzLCBTZW5kIE1lIE15IEZyZWUgUmVzb3VyY2UhIjwvc3Ryb25nPiBidXR0b24gaW4gdGhhdCBlbWFpbC4gVGhpcyBpcyBvdXIgPHN0cm9uZz5kb3VibGUgb3B0LWluIHNlY3VyaXR5PC9zdHJvbmc+4oCUaXQgcHJvdGVjdHMgeW91IGZyb20gc3BhbSBib3RzIGFuZCBlbnN1cmVzIFlPVSBhY3R1YWxseSB3YW50IHRvIGhlYXIgZnJvbSB1cy4gTm8gY29uZmlybWF0aW9uID0gbm8gZnJlZSByZXNvdXJjZXMgKHNvcnJ5LCBzZWN1cml0eSBmaXJzdCEpLgogICAgICAgICAgPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDwhLS0gU1RFUCAzIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtY2FyZCBmYWRlLWluIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtbnVtYmVyIj4zPC9kaXY+CiAgICAgICAgICA8aDM+R2V0IEluc3RhbnQgQWNjZXNzIPCfjoE8L2gzPgogICAgICAgICAgPHA+CiAgICAgICAgICAgIE9uY2UgeW91IGNvbmZpcm0sIHlvdSdsbCByZWNlaXZlIDxzdHJvbmc+aW1tZWRpYXRlIGFjY2Vzczwvc3Ryb25nPiB0byB5b3VyIGRvd25sb2FkIGxpbmssIHBsdXMgaW5zaWRlciB0aXBzLCBleGNsdXNpdmUgb2ZmZXJzLCBhbmQgc3RyYXRlZ2ljIGd1aWRhbmNlIGRlbGl2ZXJlZCBzdHJhaWdodCB0byB5b3VyIGluYm94LiBObyBzcGFtLiBObyBub25zZW5zZS4gSnVzdCB2YWx1ZS4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8IS0tIFNFQ1VSSVRZIE5PVElDRSAtLT4KICAgICAgPGRpdiBjbGFzcz0ic2VjdXJpdHktbm90aWNlIGZhZGUtaW4iPgogICAgICAgIDxoND7wn5SSIFdoeSBEb3VibGUgT3B0LUluPzwvaDQ+CiAgICAgICAgPHA+CiAgICAgICAgICBXZSB0YWtlIHlvdXIgcHJpdmFjeSBhbmQgc2VjdXJpdHkgc2VyaW91c2x5LiBEb3VibGUgb3B0LWluIHByb3RlY3RzIHlvdSBieSBlbnN1cmluZzoKICAgICAgICA8L3A+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPk5vIHNwYW0gYm90cyBjYW4gc2lnbiB5b3UgdXAgd2l0aG91dCBwZXJtaXNzaW9uPC9saT4KICAgICAgICAgIDxsaT5Zb3VyIGVtYWlsIGlzIHZlcmlmaWVkIGFuZCBzZWN1cmU8L2xpPgogICAgICAgICAgPGxpPllvdSdyZSBpbiBjb21wbGV0ZSBjb250cm9sIG9mIHdoYXQgeW91IHJlY2VpdmU8L2xpPgogICAgICAgICAgPGxpPldlIHN0YXkgY29tcGxpYW50IHdpdGggaW50ZXJuYXRpb25hbCBwcml2YWN5IGxhd3MgKEdEUFIsIGV0Yy4pPC9saT4KICAgICAgICAgIDxsaT5Zb3VyIGluYm94IHN0YXlzIGNsZWFuIGFuZCB5b3Ugb25seSBnZXQgd2hhdCBZT1Ugd2FudDwvbGk+CiAgICAgICAgPC91bD4KICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMXJlbTsiPgogICAgICAgICAgPHN0cm9uZz5Cb3R0b20gbGluZTo8L3N0cm9uZz4gT25lIHF1aWNrIGNsaWNrID0gc2VjdXJpdHksIHByaXZhY3ksIGFuZCBpbnN0YW50IGFjY2VzcyB0byBldmVyeXRoaW5nLiBXb3J0aCBpdCEKICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8IS0tIFdISUxFIFlPVSBXQUlUIC0tPgogIDxzZWN0aW9uIGNsYXNzPSJ3aGlsZS13YWl0Ij4KICAgIDxkaXYgY2xhc3M9IndoaWxlLXdhaXQtY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIgZmFkZS1pbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1iYWRnZSI+V2hpbGUgWW91IFdhaXQ8L2Rpdj4KICAgICAgICA8aDI+RXhwbG9yZSBZb3VyIFBvc3NpYmlsaXRpZXM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj4KICAgICAgICAgIERvbid0IGp1c3Qgc2l0IHRoZXJlISBIZXJlJ3Mgd2hhdCB5b3UgY2FuIGRvIHdoaWxlIHlvdSdyZSB3YWl0aW5nIGZvciB0aGF0IGNvbmZpcm1hdGlvbiBlbWFpbC4uLgogICAgICAgIDwvcD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJleHBsb3JlLWdyaWQiPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImV4cGxvcmUtY2FyZCBmYWRlLWluIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImV4cGxvcmUtaWNvbiI+8J+OqDwvZGl2PgogICAgICAgICAgPGgzPlNlZSBSZWFsIEV4YW1wbGVzPC9oMz4KICAgICAgICAgIDxwPgogICAgICAgICAgICBCcm93c2Ugb3VyIGdhbGxlcnkgb2Ygc3R1bm5pbmcgZGlnaXRhbCBjYXJkcy4gR2V0IGluc3BpcmVkLiBTZWUgd2hhdCdzIHBvc3NpYmxlIHdoZW4geW91IHJlZnVzZSB0byBiZSBib3JpbmcuCiAgICAgICAgICA8L3A+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL2hhbmRzaGFrZS5hZnJpY2EvZ2FsbGVyeSIgY2xhc3M9ImJ0bi1leHBsb3JlIj5FeHBsb3JlIEdhbGxlcnkg4oaSPC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImV4cGxvcmUtY2FyZCBmYWRlLWluIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImV4cGxvcmUtaWNvbiI+8J+SoTwvZGl2PgogICAgICAgICAgPGgzPlVuZGVyc3RhbmQgdGhlICJXaHkiPC9oMz4KICAgICAgICAgIDxwPgogICAgICAgICAgICBEaXZlIGRlZXAgaW50byB3aHkgZGlnaXRhbCBiZWF0cyBwYXBlci4gRWR1Y2F0aW9uYWwsIGV5ZS1vcGVuaW5nLCBhbmQgbWlnaHQganVzdCBjaGFuZ2UgaG93IHlvdSBuZXR3b3JrIGZvcmV2ZXIuCiAgICAgICAgICA8L3A+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL2hhbmRzaGFrZS5hZnJpY2EvZGlzY292ZXIiIGNsYXNzPSJidG4tZXhwbG9yZSI+TGVhcm4gTW9yZSDihpI8L2E+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZXhwbG9yZS1jYXJkIGZhZGUtaW4iPgogICAgICAgICAgPGRpdiBjbGFzcz0iZXhwbG9yZS1pY29uIj7wn4yNPC9kaXY+CiAgICAgICAgICA8aDM+RXhwbG9yZSBBbGwgUG9zc2liaWxpdGllczwvaDM+CiAgICAgICAgICA8cD4KICAgICAgICAgICAgRnJvbSBzaW1wbGUgY2FyZHMgdG8gY29tcGxldGUgZGlnaXRhbCBlbXBpcmVzLiBTZWUgdGhlIGZ1bGwgc3BlY3RydW0gb2Ygd2hhdCB5b3UgY2FuIGJ1aWxkIGF0IGV2ZXJ5IGJ1ZGdldCBsZXZlbC4KICAgICAgICAgIDwvcD4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaGFuZHNoYWtlLmFmcmljYS9kaWdpdGFsLWVtcGlyZSIgY2xhc3M9ImJ0bi1leHBsb3JlIj5TZWUgUG9zc2liaWxpdGllcyDihpI8L2E+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8IS0tIEFERElUSU9OQUwgU0lHTlVQIE9QVElPTiAtLT4KICA8c2VjdGlvbiBjbGFzcz0iYWRkaXRpb25hbC1zaWdudXAiPgogICAgPGRpdiBjbGFzcz0ic2lnbnVwLWNvbnRhaW5lciI+CiAgICAgIDxoMj5XYW50IEV2ZW4gTU9SRSBJbnNpZGVyIFRpcHM/PC9oMj4KICAgICAgPHA+CiAgICAgICAgSm9pbiBvdXIgZXhjbHVzaXZlIGNvbW11bml0eSBmb3IgYWR2YW5jZWQgc3RyYXRlZ2llcywgY2FzZSBzdHVkaWVzLCBlYXJseSBhY2Nlc3MgdG8gbmV3IGZlYXR1cmVzLCBhbmQgVklQLW9ubHkgcHJpY2luZyBvcHBvcnR1bml0aWVzLgogICAgICA8L3A+CiAgICAgIAogICAgICA8IS0tIOKsh++4j+Ksh++4j+Ksh++4jyBPUFRJT05BTCBTRUNPTkRBUlkgU0lHTlVQIEZPUk0gRU1CRUQgWk9ORSDirIfvuI/irIfvuI/irIfvuI8gLS0+CiAgICAgIDxkaXYgY2xhc3M9InNlY29uZGFyeS1mb3JtLXpvbmUiPgogICAgICAgIDxkaXYgY2xhc3M9ImVtYmVkLWFycm93cyI+4oaT4oaT4oaTPC9kaXY+CiAgICAgICAgPGgzPvCfk6cgU0VDT05EQVJZIFNJR05VUCBGT1JNIEVNQkVEIFpPTkU8L2gzPgogICAgICAgIDxwPgogICAgICAgICAgKE9wdGlvbmFsKSBBZGQgeW91ciBuZXdzbGV0dGVyIHNpZ251cCwgYWR2YW5jZWQgbGlzdCwgb3IgVklQIGNvbW11bml0eSBmb3JtIGhlcmUuIFRoaXMgaXMgZm9yIHVzZXJzIHdobyB3YW50IGV2ZW4gTU9SRSBlbmdhZ2VtZW50IGJleW9uZCB0aGUgaW5pdGlhbCBmcmVlYmllLgogICAgICAgIDwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJlbWJlZC1hcnJvd3MiPuKGk+KGk+KGkzwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPCEtLSDirIbvuI/irIbvuI/irIbvuI8gRU5EIFNFQ09OREFSWSBGT1JNIFpPTkUg4qyG77iP4qyG77iP4qyG77iPIC0tPgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8IS0tIENPTlNVTFRBVElPTiBDVEEgLS0+CiAgPHNlY3Rpb24gY2xhc3M9ImNvbnN1bHRhdGlvbiI+CiAgICA8ZGl2IGNsYXNzPSJjb25zdWx0YXRpb24tY29udGFpbmVyIj4KICAgICAgPGgyPlJlYWR5IHRvIFRhbGsgU3RyYXRlZ3k/PC9oMj4KICAgICAgPHA+CiAgICAgICAgQm9vayBhIGZyZWUgMTUtbWludXRlIGRpc2NvdmVyeSBjYWxsLiBMZXQncyBkaXNjdXNzIHlvdXIgZ29hbHMsIGFuc3dlciB5b3VyIHF1ZXN0aW9ucywgYW5kIG1hcCBvdXQgeW91ciBwZXJmZWN0IGRpZ2l0YWwgaWRlbnRpdHkuCiAgICAgIDwvcD4KICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9oYW5kc2hha2UuYWZyaWNhL2NvbnRhY3QiIGNsYXNzPSJidG4tY29uc3VsdGF0aW9uIj4KICAgICAgICA8c3Bhbj5Cb29rIFlvdXIgRnJlZSBDYWxsIOKGkjwvc3Bhbj4KICAgICAgPC9hPgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8IS0tIEZPT1RFUiAtLT4KICA8Zm9vdGVyIGNsYXNzPSJmb290ZXIiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sdW1uIj4KICAgICAgICAgIDxoND5IYW5kc2hha2UuYWZyaWNhPC9oND4KICAgICAgICAgIDxwIHN0eWxlPSJvcGFjaXR5OiAwLjk7IGxpbmUtaGVpZ2h0OiAxLjc7Ij4KICAgICAgICAgICAgRGlnaXRhbCBzb3ZlcmVpZ250eSBmb3IgQWZyaWNhbiBlbnRyZXByZW5ldXJzLiBBSS1wb3dlcmVkLiBFY28tY29uc2Npb3VzLiBVbnN0b3BwYWJsZS4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sdW1uIj4KICAgICAgICAgIDxoND5Qcm9kdWN0PC9oND4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vaGFuZHNoYWtlLmFmcmljYS8iPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vaGFuZHNoYWtlLmFmcmljYS9kaXNjb3ZlciI+RGlzY292ZXI8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vaGFuZHNoYWtlLmFmcmljYS9nYWxsZXJ5Ij5HYWxsZXJ5PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2hhbmRzaGFrZS5hZnJpY2EvcHJpY2luZyI+UHJpY2luZzwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9oYW5kc2hha2UuYWZyaWNhL2RpZ2l0YWwtZW1waXJlIj5Zb3VyIFBvc3NpYmlsaXRpZXM8L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvbHVtbiI+CiAgICAgICAgICA8aDQ+Q29tcGFueTwvaDQ+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2hhbmRzaGFrZS5hZnJpY2EvYWJvdXQiPkFib3V0IFVzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2hhbmRzaGFrZS5hZnJpY2EvY29udGFjdCI+Q29udGFjdDwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sdW1uIj4KICAgICAgICAgIDxoND5MZWdhbDwvaDQ+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2hhbmRzaGFrZS5hZnJpY2EvdGVybXMiPlRlcm1zPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2hhbmRzaGFrZS5hZnJpY2EvcHJpdmFjeSI+UHJpdmFjeTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9oYW5kc2hha2UuYWZyaWNhL3JlZnVuZC1wb2xpY3kiPlJlZnVuZHM8L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb290ZXItYm90dG9tIj4KICAgICAgICA8cD7CqSAyMDI1IEhhbmRzaGFrZS5hZnJpY2Eg4oCiIEFsbCBSaWdodHMgUmVzZXJ2ZWQ8L3A+CiAgICAgICAgPHA+UG93ZXJlZCBieSA8YSBocmVmPSJodHRwczovL2R5bmFtaWNwYXJhZGlnbXMuaW8iPkR5bmFtaWMgUGFyYWRpZ21zPC9hPjwvcD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Zvb3Rlcj4KCiAgPHNjcmlwdD4KICAgIC8vIEdlbmVyYXRlIGNvbmZldHRpCiAgICBjb25zdCBjb25mZXR0aUNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25mZXR0aS1jb250YWluZXInKTsKICAgIGNvbnN0IGNvbG9ycyA9IFsnI0ZGRDcwMCcsICcjMDBDOUE3JywgJyM3QjY4RUUnLCAnI0ZGNkIzNSddOwogICAgCiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDUwOyBpKyspIHsKICAgICAgY29uc3QgY29uZmV0dGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgY29uZmV0dGkuY2xhc3NOYW1lID0gJ2NvbmZldHRpJzsKICAgICAgY29uZmV0dGkuc3R5bGUubGVmdCA9IGAke01hdGgucmFuZG9tKCkgKiAxMDB9JWA7CiAgICAgIGNvbmZldHRpLnN0eWxlLmJhY2tncm91bmQgPSBjb2xvcnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY29sb3JzLmxlbmd0aCldOwogICAgICBjb25mZXR0aS5zdHlsZS5hbmltYXRpb25EZWxheSA9IGAke01hdGgucmFuZG9tKCkgKiAzfXNgOwogICAgICBjb25mZXR0aS5zdHlsZS5hbmltYXRpb25EdXJhdGlvbiA9IGAkezMgKyBNYXRoLnJhbmRvbSgpICogMn1zYDsKICAgICAgY29uZmV0dGlDb250YWluZXIuYXBwZW5kQ2hpbGQoY29uZmV0dGkpOwogICAgfQogICAgCiAgICAvLyBTY3JvbGwgYW5pbWF0aW9ucwogICAgY29uc3Qgb2JzZXJ2ZXJPcHRpb25zID0gewogICAgICB0aHJlc2hvbGQ6IDAuMSwKICAgICAgcm9vdE1hcmdpbjogJzBweCAwcHggLTEwMHB4IDBweCcKICAgIH07CiAgICAKICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpIHsKICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHsKICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICAgIGVudHJ5LnRhcmdldC5jbGFzc0xpc3QuYWRkKCd2aXNpYmxlJyk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sIG9ic2VydmVyT3B0aW9ucyk7CiAgICAKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mYWRlLWluJykuZm9yRWFjaChlbCA9PiBvYnNlcnZlci5vYnNlcnZlKGVsKSk7CiAgICAKICAgIC8vIFNlY3VyaXR5CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGUgPT4gZS5wcmV2ZW50RGVmYXVsdCgpKTsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKSB7CiAgICAgIGlmIChlLmtleUNvZGUgPT09IDEyMyB8fCAoZS5jdHJsS2V5ICYmIGUuc2hpZnRLZXkgJiYgZS5rZXlDb2RlID09PSA3MykpIHsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgIH0KICAgIH0pOwogIDwvc2NyaXB0PgoKPC9ib2R5Pgo8L2h0bWw+","embed":""}
Thank You! Check Your Email | Handshake.africa
Handshake.africa
  • Home
  • Discover
  • Gallery
  • Pricing
🎉

You're In! Welcome to Your Digital Sovereignty Journey!

Your free resource is on its way. Check your email (and spam folder) in the next few minutes. One more quick step to unlock everything...

What Happens Next

Your 3-Step Success Path

We've sent you an email. Here's exactly what to do next to unlock your free resources and join our community.

1

Check Your Email 📧

We just sent you an email with your free resource. Check your inbox AND your spam folder (sometimes our emails like to hide there). Look for an email from hello@handshake.africa.

2

Confirm Your Subscription 🔒

Click the "Yes, Send Me My Free Resource!" button in that email. This is our double opt-in security—it protects you from spam bots and ensures YOU actually want to hear from us. No confirmation = no free resources (sorry, security first!).

3

Get Instant Access 🎁

Once you confirm, you'll receive immediate access to your download link, plus insider tips, exclusive offers, and strategic guidance delivered straight to your inbox. No spam. No nonsense. Just value.

🔒 Why Double Opt-In?

We take your privacy and security seriously. Double opt-in protects you by ensuring:

  • No spam bots can sign you up without permission
  • Your email is verified and secure
  • You're in complete control of what you receive
  • We stay compliant with international privacy laws (GDPR, etc.)
  • Your inbox stays clean and you only get what YOU want

Bottom line: One quick click = security, privacy, and instant access to everything. Worth it!

While You Wait

Explore Your Possibilities

Don't just sit there! Here's what you can do while you're waiting for that confirmation email...

🎨

See Real Examples

Browse our gallery of stunning digital cards. Get inspired. See what's possible when you refuse to be boring.

Explore Gallery →
💡

Understand the "Why"

Dive deep into why digital beats paper. Educational, eye-opening, and might just change how you network forever.

Learn More →
🌍

Explore All Possibilities

From simple cards to complete digital empires. See the full spectrum of what you can build at every budget level.

See Possibilities →

Want Even MORE Insider Tips?

Join our exclusive community for advanced strategies, case studies, early access to new features, and VIP-only pricing opportunities.

↓↓↓

📧 SECONDARY SIGNUP FORM EMBED ZONE

(Optional) Add your newsletter signup, advanced list, or VIP community form here. This is for users who want even MORE engagement beyond the initial freebie.

↓↓↓

Ready to Talk Strategy?

Book a free 15-minute discovery call. Let's discuss your goals, answer your questions, and map out your perfect digital identity.

Book Your Free Call →

Handshake.africa

Digital sovereignty for African entrepreneurs. AI-powered. Eco-conscious. Unstoppable.

Product

  • Home
  • Discover
  • Gallery
  • Pricing
  • Your Possibilities

Company

  • About Us
  • Contact

Legal

  • Terms
  • Privacy
  • Refunds

© 2025 Handshake.africa • All Rights Reserved

Powered by Dynamic Paradigms

Image Gallery Grid
T
Please Check Your Email
We Will Be Following Up Shortly
*
*
*

warning