{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICAKICAgIDwhLS0gUHJpbWFyeSBNZXRhIFRhZ3MgLS0+CiAgICA8dGl0bGU+Q2hyaXMgSGFkZGVuIHwgUkVBTFRPUsKuIHwgVGVhbSBIYWRkZW4gfCBKYXF1YSBSZWFsdG9yczwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJ0aXRsZSIgY29udGVudD0iQ2hyaXMgSGFkZGVuIHwgUkVBTFRPUsKuIHwgVGVhbSBIYWRkZW4gfCBTZXJ2aW5nIFNvdXRod2VzdCBNaWNoaWdhbiI+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iQnV5IOKAoiBTZWxsIOKAoiBJbnZlc3Qgd2l0aCBDaHJpcyBIYWRkZW4sIFJFQUxUT1LCriBhdCBKYXF1YSBSZWFsdG9ycy4gU2VydmluZyBTb3V0aHdlc3QgTWljaGlnYW4ncyBiZWF1dGlmdWwgbGFrZSBjb3VudHJ5LiBHUkksIENSU8KuLCBTUkVTwq4sIEFIV0TCriBjZXJ0aWZpZWQuIj4KICAgIDxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJDaHJpcyBIYWRkZW4sIFRlYW0gSGFkZGVuLCBKYXF1YSBSZWFsdG9ycywgU291dGh3ZXN0IE1pY2hpZ2FuIFJlYWx0b3IsIFBvcnRhZ2UgTUkgUmVhbCBFc3RhdGUiPgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJDaHJpcyBIYWRkZW4iPgogICAgPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJpbmRleCwgZm9sbG93Ij4KICAgIAogICAgPCEtLSBPcGVuIEdyYXBoIC8gRmFjZWJvb2sgLS0+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0icHJvZmlsZSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL2JyYW5kaGFuZHNoYWtlLmNvbS9jaHJpc2hhZGRlbiI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkNocmlzIEhhZGRlbiB8IFJFQUxUT1LCriB8IFRlYW0gSGFkZGVuIHwgSmFxdWEgUmVhbHRvcnMiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSLwn4+hIEJ1eSDigKIgU2VsbCDigKIgSW52ZXN0IGluIFNvdXRod2VzdCBNaWNoaWdhbidzIGJlYXV0aWZ1bCBsYWtlIGNvdW50cnkuIj4KICAgIAogICAgPCEtLSBUaGVtZSBDb2xvciAtLT4KICAgIDxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjMkM1RjdDIj4KICAgIAogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KICAgIDxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUNvcm1vcmFudCtHYXJhbW9uZDppdGFsLHdnaHRAMCw0MDA7MCw1MDA7MCw2MDA7MCw3MDA7MSw0MDAmZmFtaWx5PU1vbnRzZXJyYXQ6d2dodEAzMDA7NDAwOzUwMDs2MDA7NzAwJmZhbWlseT1TYXRpc2Z5JmRpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIAogICAgPHN0eWxlPgogICAgICAgIDpyb290IHsKICAgICAgICAgICAgLS1sYWtlLWRlZXA6ICMyQzVGN0M7CiAgICAgICAgICAgIC0tbGFrZS1tZWRpdW06ICM0QTkwQTQ7CiAgICAgICAgICAgIC0tbGFrZS1saWdodDogIzdGQjNDNDsKICAgICAgICAgICAgLS1sYWtlLW1pc3Q6ICNCOEQ0RTM7CiAgICAgICAgICAgIC0tbGFrZS1mb2FtOiAjRThGNEY4OwogICAgICAgICAgICAtLWNvcmFsLXdhcm06ICNFODc2NkQ7CiAgICAgICAgICAgIC0tY29yYWwtc29mdDogI0Y0QTlBMzsKICAgICAgICAgICAgLS1zYW5kLXdhcm06ICNGNUVERTQ7CiAgICAgICAgICAgIC0tc2FuZC1saWdodDogI0ZBRjdGMjsKICAgICAgICAgICAgLS1jaGFyY29hbDogIzJEMzQzNjsKICAgICAgICAgICAgLS1zbGF0ZTogIzYzNkU3MjsKICAgICAgICAgICAgLS13aGl0ZTogI0ZGRkZGRjsKICAgICAgICB9CgogICAgICAgICogewogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgfQoKICAgICAgICBib2R5IHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2FuZC1saWdodCk7CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICAvKiBXYXRlcmNvbG9yIEJhY2tncm91bmQgRWZmZWN0ICovCiAgICAgICAgLndhdGVyY29sb3ItYmcgewogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICAgIHRvcDogMDsKICAgICAgICAgICAgbGVmdDogMDsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgei1pbmRleDogMDsKICAgICAgICAgICAgYmFja2dyb3VuZDogCiAgICAgICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCAxNSUgMTUlLCByZ2JhKDEyNywgMTc5LCAxOTYsIDAuMikgMCUsIHRyYW5zcGFyZW50IDQ1JSksCiAgICAgICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA4NSUgMjUlLCByZ2JhKDE4NCwgMjEyLCAyMjcsIDAuMjUpIDAlLCB0cmFuc3BhcmVudCA0MCUpLAogICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgNTAlIDkwJSwgcmdiYSgyMzIsIDExOCwgMTA5LCAwLjEyKSAwJSwgdHJhbnNwYXJlbnQgMzUlKSwKICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLXNhbmQtbGlnaHQpIDAlLCB2YXIoLS1sYWtlLWZvYW0pIDYwJSwgdmFyKC0tc2FuZC13YXJtKSAxMDAlKTsKICAgICAgICB9CgogICAgICAgIC5jb250YWluZXIgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgICAgICBtYXgtd2lkdGg6IDQyMHB4OwogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICAgICAgcGFkZGluZzogMjVweCAyMHB4OwogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICB9CgogICAgICAgIC8qIENhcmQgQ29udGFpbmVyICovCiAgICAgICAgLmNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMjVweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogCiAgICAgICAgICAgICAgICAwIDEwcHggNDBweCByZ2JhKDQ0LCA5NSwgMTI0LCAwLjEyKSwKICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggcmdiYSg0NCwgOTUsIDEyNCwgMC4wOCk7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxNzksIDE5NiwgMC4xNSk7CiAgICAgICAgICAgIGFuaW1hdGlvbjogY2FyZEZsb2F0IDAuOHMgZWFzZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgY2FyZEZsb2F0IHsKICAgICAgICAgICAgZnJvbSB7IAogICAgICAgICAgICAgICAgb3BhY2l0eTogMDsgCiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7IAogICAgICAgICAgICB9CiAgICAgICAgICAgIHRvIHsgCiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyAKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qIEhlYWRlciAqLwogICAgICAgIC5oZWFkZXIgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7CiAgICAgICAgfQoKICAgICAgICAudGVhbS1iYWRnZSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICB9CgogICAgICAgIC50ZWFtLWxhYmVsIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb3JhbC13YXJtKTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDVweDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICB9CgogICAgICAgIC50ZWFtLW5hbWUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1NhdGlzZnknLCBjdXJzaXZlOwogICAgICAgICAgICBmb250LXNpemU6IDNyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1sYWtlLWRlZXApOwogICAgICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNweDsKICAgICAgICB9CgogICAgICAgIC8qIFByb2ZpbGUgSW1hZ2UgLSBIb3VzZSBJY29uICovCiAgICAgICAgLnByb2ZpbGUtY29udGFpbmVyIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB3aWR0aDogMTYwcHg7CiAgICAgICAgICAgIGhlaWdodDogMTYwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7CiAgICAgICAgfQoKICAgICAgICAucHJvZmlsZS1yaW5nIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IC02cHg7CiAgICAgICAgICAgIGxlZnQ6IC02cHg7CiAgICAgICAgICAgIHdpZHRoOiAxNzJweDsKICAgICAgICAgICAgaGVpZ2h0OiAxNzJweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1sYWtlLWxpZ2h0KSwgdmFyKC0tY29yYWwtc29mdCkpOwogICAgICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgICAgfQoKICAgICAgICAucHJvZmlsZS1pbWFnZSB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgd2lkdGg6IDE2MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDE2MHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWxha2UtbWlzdCksIHZhcigtLXNhbmQtd2FybSkpOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0td2hpdGUpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDhweCAzMHB4IHJnYmEoNDQsIDk1LCAxMjQsIDAuMTUpOwogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLyogTWljaGlnYW4gTWFwIFNWRyAqLwogICAgICAgIC5taWNoaWdhbi1tYXAgewogICAgICAgICAgICB3aWR0aDogODAlOwogICAgICAgICAgICBoZWlnaHQ6IDgwJTsKICAgICAgICAgICAgZmlsbDogdmFyKC0tbGFrZS1kZWVwKTsKICAgICAgICAgICAgb3BhY2l0eTogMC44NTsKICAgICAgICB9CgogICAgICAgIC5wcm9maWxlLWltYWdlIGltZyB7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICAgIH0KCiAgICAgICAgLyogTmFtZSAmIFRpdGxlICovCiAgICAgICAgLm5hbWUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNoYXJjb2FsKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgICAgfQoKICAgICAgICAudGl0bGUgewogICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWxha2UtZGVlcCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgICB9CgogICAgICAgIC5icm9rZXJhZ2UgewogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zbGF0ZSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgfQoKICAgICAgICAvKiBDZXJ0aWZpY2F0aW9ucyAqLwogICAgICAgIC5jZXJ0aWZpY2F0aW9ucyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgfQoKICAgICAgICAuY2VydC1iYWRnZSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWxha2UtZGVlcCksIHZhcigtLWxha2UtbWVkaXVtKSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICB9CgogICAgICAgIC8qIERpdmlkZXIgKi8KICAgICAgICAuZGl2aWRlciB7CiAgICAgICAgICAgIGhlaWdodDogMXB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCB2YXIoLS1sYWtlLWxpZ2h0KSwgdHJhbnNwYXJlbnQpOwogICAgICAgICAgICBtYXJnaW46IDI1cHggMDsKICAgICAgICB9CgogICAgICAgIC8qIFRhZ2xpbmUgKi8KICAgICAgICAudGFnbGluZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgICB9CgogICAgICAgIC50YWdsaW5lLWxvY2F0aW9uIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1sYWtlLWRlZXApOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIH0KCiAgICAgICAgLnRhZ2xpbmUtc2VydmljZXMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAyNXB4OwogICAgICAgIH0KCiAgICAgICAgLnNlcnZpY2UtaXRlbSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5zZXJ2aWNlLWljb24gewogICAgICAgICAgICB3aWR0aDogNTBweDsKICAgICAgICAgICAgaGVpZ2h0OiA1MHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb3JhbC13YXJtKSwgdmFyKC0tY29yYWwtc29mdCkpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gOHB4OwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxMnB4IHJnYmEoMjMyLCAxMTgsIDEwOSwgMC4yNSk7CiAgICAgICAgfQoKICAgICAgICAuc2VydmljZS10ZXh0IHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgIH0KCiAgICAgICAgLyogQ29udGFjdCBTZWN0aW9uICovCiAgICAgICAgLmNvbnRhY3Qtc2VjdGlvbiB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1pdGVtIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgcGFkZGluZzogMTZweCAxOHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYW5kLWxpZ2h0KTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LWl0ZW06aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1sYWtlLWZvYW0pOwogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWxha2UtbGlnaHQpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LWl0ZW06bGFzdC1jaGlsZCB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1pY29uIHsKICAgICAgICAgICAgd2lkdGg6IDUwcHg7CiAgICAgICAgICAgIGhlaWdodDogNTBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbGFrZS1kZWVwKSwgdmFyKC0tbGFrZS1tZWRpdW0pKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOwogICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7CiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtZGV0YWlscyB7CiAgICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1sYWJlbCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tc2xhdGUpOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC12YWx1ZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNoYXJjb2FsKTsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LWFycm93IHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWxha2UtbWVkaXVtKTsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07CiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LWl0ZW06aG92ZXIgLmNvbnRhY3QtYXJyb3cgewogICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTsKICAgICAgICB9CgogICAgICAgIC8qIEFjdGlvbiBCdXR0b25zICovCiAgICAgICAgLmFjdGlvbi1idXR0b25zIHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuYWN0aW9uLWJ0biB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAuYnRuLWNhbGwgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb3JhbC13YXJtKSwgdmFyKC0tY29yYWwtc29mdCkpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxNXB4IHJnYmEoMjMyLCAxMTgsIDEwOSwgMC4zKTsKICAgICAgICB9CgogICAgICAgIC5idG4tY2FsbDpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDIzMiwgMTE4LCAxMDksIDAuNCk7CiAgICAgICAgfQoKICAgICAgICAuYnRuLWVtYWlsIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbGFrZS1kZWVwKSwgdmFyKC0tbGFrZS1tZWRpdW0pKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDQ0LCA5NSwgMTI0LCAwLjMpOwogICAgICAgIH0KCiAgICAgICAgLmJ0bi1lbWFpbDpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDQ0LCA5NSwgMTI0LCAwLjQpOwogICAgICAgIH0KCiAgICAgICAgLyogQ2FyZCBBY3Rpb25zIFNlY3Rpb24gKi8KICAgICAgICAuY2FyZC1hY3Rpb25zIHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4OwogICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGFrZS1taXN0KTsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWFjdGlvbi1idG4gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggMTVweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2FuZC1saWdodCk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNoYXJjb2FsKTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWFjdGlvbi1idG46aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1sYWtlLWZvYW0pOwogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWxha2UtbGlnaHQpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgICAgICAgfQoKICAgICAgICAuY2FyZC1hY3Rpb24taWNvbiB7CiAgICAgICAgICAgIHdpZHRoOiA1MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWxha2UtZGVlcCksIHZhcigtLWxha2UtbWVkaXVtKSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOwogICAgICAgIH0KCiAgICAgICAgLmNhcmQtYWN0aW9uLXRleHQgewogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jaGFyY29hbCk7CiAgICAgICAgfQoKICAgICAgICAucXItbGluayB7CiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgICAgIGdhcDogMTVweDsKICAgICAgICAgICAgcGFkZGluZzogMTZweCAxOHB4OwogICAgICAgIH0KCiAgICAgICAgLnFyLWxpbmsgLmNhcmQtYWN0aW9uLWljb24gewogICAgICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29yYWwtd2FybSksIHZhcigtLWNvcmFsLXNvZnQpKTsKICAgICAgICB9CgogICAgICAgIC5xci1saW5rLWNvbnRlbnQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIH0KCiAgICAgICAgLnFyLWxpbmstY29udGVudCAuY2FyZC1hY3Rpb24tdGV4dCB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDsKICAgICAgICB9CgogICAgICAgIC5xci1saW5rLWNvbnRlbnQgLmNhcmQtYWN0aW9uLXN1YnRleHQgewogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zbGF0ZSk7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgfQoKICAgICAgICAvKiBGb290ZXIgKi8KICAgICAgICAuZm9vdGVyIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDE1cHggMTVweDsKICAgICAgICB9CgogICAgICAgIC5mb290ZXItYnJva2VyYWdlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1sYWtlLWRlZXApOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLWFkZHJlc3MgewogICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zbGF0ZSk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLXBvd2VyZWQgewogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zbGF0ZSk7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLXBvd2VyZWQgYSB7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1sYWtlLW1lZGl1bSk7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB9CgogICAgICAgIC5mb290ZXItcG93ZXJlZCBhOmhvdmVyIHsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLWNvcHlyaWdodCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tc2xhdGUpOwogICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICB9CgogICAgICAgIC8qIFJlc3BvbnNpdmUgKi8KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzgwcHgpIHsKICAgICAgICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAuY2FyZCB7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDIwcHg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5uYW1lIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45cmVtOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAudGVhbS1uYW1lIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAuYWN0aW9uLWJ1dHRvbnMgewogICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5jYXJkLWFjdGlvbnMgewogICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5xci1saW5rIHsKICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICAgIDwhLS0gV2F0ZXJjb2xvciBCYWNrZ3JvdW5kIC0tPgogICAgPGRpdiBjbGFzcz0id2F0ZXJjb2xvci1iZyI+PC9kaXY+CgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAKICAgICAgICA8IS0tIE1haW4gQ2FyZCAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDwhLS0gSGVhZGVyIC0tPgogICAgICAgICAgICA8aGVhZGVyIGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1iYWRnZSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1sYWJlbCI+VEVBTTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0tbmFtZSI+SGFkZGVuPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZmlsZS1jb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2ZpbGUtcmluZyI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZmlsZS1pbWFnZSI+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBIb3VzZSBJY29uIC0tPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDQuNXJlbTsiPvCfj6E8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8aDEgY2xhc3M9Im5hbWUiPkNocmlzIEhhZGRlbjwvaDE+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGl0bGUiPlJFQUxUT1LCrjwvcD4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJicm9rZXJhZ2UiPkphcXVhIFJlYWx0b3JzPC9wPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0aWZpY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNlcnQtYmFkZ2UiPkdSSTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2VydC1iYWRnZSI+Q1JTwq48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNlcnQtYmFkZ2UiPlNSRVPCrjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2VydC1iYWRnZSI+QUhXRMKuPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaGVhZGVyPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGl2aWRlciI+PC9kaXY+CgogICAgICAgICAgICA8IS0tIFRhZ2xpbmUgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhZ2xpbmUiPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRhZ2xpbmUtbG9jYXRpb24iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPvCfjIo8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgU2VydmluZyBTb3V0aHdlc3QgTWljaGlnYW4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhZ2xpbmUtc2VydmljZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaWNvbiI+8J+PoDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLXRleHQiPkJ1eTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaWNvbiI+8J+UkTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLXRleHQiPlNlbGw8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWljb24iPvCfk4g8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS10ZXh0Ij5JbnZlc3Q8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpdmlkZXIiPjwvZGl2PgoKICAgICAgICAgICAgPCEtLSBDb250YWN0IFNlY3Rpb24gLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3Qtc2VjdGlvbiI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxhIGhyZWY9InRlbDorMTI2OTM0MTI4NzAiIGNsYXNzPSJjb250YWN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaWNvbiI+8J+TnjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtZGV0YWlscyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtbGFiZWwiPkNlbGw8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC12YWx1ZSI+KDI2OSkgMzQxLTI4NzA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29udGFjdC1hcnJvdyI+4oaSPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86Y2hhZGRlbkBqYXF1YXJlYWx0b3JzLmNvbSIgY2xhc3M9ImNvbnRhY3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7inInvuI88L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWxhYmVsIj5FbWFpbDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LXZhbHVlIj5jaGFkZGVuQGphcXVhcmVhbHRvcnMuY29tPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9tYXBzLmdvb2dsZS5jb20vP3E9NDE0K1crTWlsaGFtK0F2ZStQb3J0YWdlK01JKzQ5MDI0IiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImNvbnRhY3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7wn5ONPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1kZXRhaWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1sYWJlbCI+T2ZmaWNlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtdmFsdWUiPjQxNCBXLiBNaWxoYW0gQXZlLCBQb3J0YWdlLCBNSSA0OTAyNDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb250YWN0LWFycm93Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbi1idXR0b25zIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJ0ZWw6KzEyNjkzNDEyODcwIiBjbGFzcz0iYWN0aW9uLWJ0biBidG4tY2FsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIPCfk54gQ2FsbCBOb3cKICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmNoYWRkZW5AamFxdWFyZWFsdG9ycy5jb20iIGNsYXNzPSJhY3Rpb24tYnRuIGJ0bi1lbWFpbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIOKcie+4jyBFbWFpbAogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIENhcmQgQWN0aW9uczogRG93bmxvYWQsIFNoYXJlLCBRUiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImNhcmQtYWN0aW9uLWJ0biIgb25jbGljaz0iYWxlcnQoJ0Rvd25sb2FkIGNvbnRhY3QgZmVhdHVyZSBjb21pbmcgc29vbiEnKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYWN0aW9uLWljb24iPuKsh++4jzwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC1hY3Rpb24tdGV4dCI+RG93bmxvYWQgQ2FyZDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImNhcmQtYWN0aW9uLWJ0biIgb25jbGljaz0ibmF2aWdhdG9yLnNoYXJlID8gbmF2aWdhdG9yLnNoYXJlKHt0aXRsZTogJ0NocmlzIEhhZGRlbiAtIFJFQUxUT1LCricsIHRleHQ6ICdDb25uZWN0IHdpdGggQ2hyaXMgSGFkZGVuIGF0IEphcXVhIFJlYWx0b3JzJywgdXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZn0pIDogYWxlcnQoJ1NoYXJlIHRoaXMgbGluazogJyArIHdpbmRvdy5sb2NhdGlvbi5ocmVmKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYWN0aW9uLWljb24iPvCfk6Q8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtYWN0aW9uLXRleHQiPlNoYXJlIENhcmQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vYWRkcXJjb2RlbGluay5jb20vIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImNhcmQtYWN0aW9uLWJ0biBxci1saW5rIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1hY3Rpb24taWNvbiI+8J+TsTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJxci1saW5rLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtYWN0aW9uLXRleHQiPlRhcCBmb3IgUVIgQ29kZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLWFjdGlvbi1zdWJ0ZXh0Ij5TY2FuIHRvIHNhdmUgbXkgY29udGFjdCBpbnN0YW50bHk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gRm9vdGVyIC0tPgogICAgICAgIDxmb290ZXIgY2xhc3M9ImZvb3RlciI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJmb290ZXItYnJva2VyYWdlIj5KYXF1YSBSZWFsdG9yczwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9ImZvb3Rlci1hZGRyZXNzIj4KICAgICAgICAgICAgICAgIDQxNCBXLiBNaWxoYW0gQXZlIOKAoiBQb3J0YWdlLCBNSSA0OTAyNAogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIAogICAgICAgICAgICA8cCBjbGFzcz0iZm9vdGVyLXBvd2VyZWQiPgogICAgICAgICAgICAgICAgUG93ZXJlZCBieSA8YSBocmVmPSJodHRwczovL2JyYW5kaGFuZHNoYWtlLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPkJyYW5kIEhhbmRzaGFrZTwvYT4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0iZm9vdGVyLWNvcHlyaWdodCI+CiAgICAgICAgICAgICAgICDCqSAyMDI2IENocmlzIEhhZGRlbiB8IFRlYW0gSGFkZGVuCiAgICAgICAgICAgIDwvcD4KICAgICAgICA8L2Zvb3Rlcj4KICAgICAgICAKICAgIDwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4=","embed":""}
TEAM
Hadden
🏡
Chris Hadden
REALTOR®
Jaqua Realtors
GRI
CRS®
SRES®
AHWD®
🌊 Serving Southwest Michigan
🏠
Buy
🔑
Sell
📈
Invest